[PATCH] Towards fixing PR47663

Jan Hubicka hubicka@ucw.cz
Wed Feb 16 23:51:00 GMT 2011


> 
> The function is called from the IPA inliner, I simply copied the above
> from the callsite which now recieves the original edge instead of a
> node mangled like above.

Ah then the code should not beneccesary in the IPA inliner too.  The fibheap should
not have any edges that are already inlined in it - we remove them at the moment we
consider inlining and they should not be re-added afterwards.

It is probably remainder of the time inlier was function based not edge based.
> 
> These checks seem to be to avoid issuing diagnostics for recursive calls
> (the call will reset inline_failed for non-always-inline functions).
> That's better done in tree-inline.c.

Hmm, yep, these are there to keep reason as recursive call as that seem sanier diagnostics than
the others.  When we make tree-inline to test this, I guess we can drop all the logic.
> 
> Well, we set the reason to CIF_UNSPECIFIED in the original call anyway ;)

Indeed, I guess back then I concluded that -Winline should not complain here most
probably for backward compatibility with previous implementation  ;)
I guess we could just make tree-inline to report recursive calls.

Honza



More information about the Gcc-patches mailing list