http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60911
--- Comment #3 from Martin Jambor <jamborm at gcc dot gnu.org> --- (In reply to Richard Biener from comment #2) > Late IPA passes need all regular IPA transforms applied and clones > materialized. I agree that would make sense but it is not what we do. Just look at compile() in cgraphunit.c. When late IPA passes run, clones are already materialized but transformation phases of regular IPA passes have not been run yet. Apart from the fact that late-IPA passes do not see the bodies transformed and inlining performed it also means that call statements have not been updated to reflect call redirections performed at analysis stage which is the problem here and which is (for reasons I have never quite grasped) done as a part of inlining transformation phase. OTOH, I am all for moving the call to execute_all_ipa_transforms() from expand_function() to compile(), at least in trunk.