https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65130
--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> --- The bug is: fn3/5 (fn3) @0x7ffff6ae5dc8 Type: function definition analyzed Visibility: prevailing_def_ironly previous sharing asm name: 11 References: a/4 (read) Referring: Read from file: b.o Availability: local First run: 0 Function flags: local Called by: fn2/10 (inlined) (10.11 per call) fn2/0 (1.00 per call) Calls: fn4/2 (inlined) (10.11 per call) fn3 is not inlined clone but it is still called by fn2 and inlined into it. This is why we end up producing a cycle in the inline tree. This seems to be introduced by code inlining functions called once. I suppose there is a problem with nodes being removed and walked at the same time. Will check more tomorrow.