https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67133

--- Comment #29 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Martin Jambor from comment #28)
> I see, thinking about signature changes, I forgot about the situations
> where we do not have the body of the callee in the first place.

Yeah, the whole gimple_call_fntype thing was invented so we can aggressively
propagate (mismatching) fndecls into calls, making them direct calls and
resulting in much better cgraph analysis.  Previously those calls remained
indirect (to preserve the original fntype), we only propagated when the
types of the call and the fndecl "matched".  But "matched" is hard to compute
thus simply preserving the original type always was much easier and allows
for very aggressive propagation.  Of course now you need to deal with
actual mismatches and have to be careful what you access.

Reply via email to