https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98782
--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Thanks for looking into this. I was planning to try to contact Vladimir about the IRA behaviour here, but there was always something else to work with higher priority. I wonder if you could possibly attach the WIP patch? Teaching inliner to not inline this function as called once is probably just a matter of adding a limit capping loop depth. I think that is meaningful heuristics since inlining very large function to large loop depth is probably not a good idea. I have patch for testing. Do you know of other benchmarks where -fno-inline-functions-called-once help (and ideally know why?). We plan to look into roms and tramp3d which also regresses.