https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89975
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Well, the parameter says that average function prologue+epilogue overhead is 200000 instructions. Inliner thus thinks it is very cool to deeply recursively inline. The resulting inline decision is pretty wide tree so the recursion depth limits hits relatively late. Also the recursive inlining limit is applied by counting of number of inlining of a function to itself, while here the tree has multiple functions on it. So I would say it is a consequence of instance value of uninlined-function-insns.