https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96394
--- Comment #14 from Martin Jambor <jamborm at gcc dot gnu.org> --- I can confirm the analysis, except that I see the edge we're trying to add to the heap as already inlined (as a speculative edge it got inlined even its caller was). Also just not adding an edge with non-NULL aux works for me - and at least I cannot think of anything smarter, I guess the inliner has to figure out it has already dealt with it. If it indeed can cause an assert failure in estimate_calls_size_and_time then I think we simply we need to force it not to "use_table" when it next comes around to the caller.