http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60061
--- Comment #2 from Martin Jambor <jamborm at gcc dot gnu.org> --- I see init cloned in both -fwhole-program ipa-cp dumps and in WPA -flto dumps (i.e. when omitting the -S option). Apparently, when creating fat LTO object file -fwhole-program does not apply during the compilation phase (which is a bit confusing but I tend to believe it is a good thing), we thus do not know that we would clone init for all contexts and it is considered too cold for creating an extra clone (which is also a good decision). But non-lto -fwhole-program should be compared to -flto WPA stage, not fat object optimization phase (assuming it is OK that -fwhole-program in LTO only applies during the WPA phase). Yes, jump functions are different exactly because of the condition quoted above, there is little use analyzing them when they lead to something unknown that is going to stay unknown.