https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82229
--- Comment #14 from Martin Liška <marxin at gcc dot gnu.org> --- So for GCC 7 the drop is caused by r237791: SVN revision: 237791 Author: hubicka * gcc.dg/predict-12.c: New testcase. * predict.c: Include gimple-pretty-print.h (predicted_by_loop_heuristics_p): Check also PRED_LOOP_EXIT_WITH_RECURSION (predict_loops): Find self recursive calls and use special purpose predictors for them; dump log about decisions. (pass_profile::execute): Dump info about #of iterations. * predict.def (PRED_LOOP_EXIT_WITH_RECURSION, (PRED_LOOP_GUARD_WITH_RECURSION): New predictors. and the performance for current trunk is similar to GCC 6.x, starting from r248334: Author: hubicka * ipa-inline.c (edge_badness): Use inlined_time instead of inline_summaries->get. That said it's sensitive to inlining.