http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60061
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-02-05 CC| |jamborm at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The dumps seem to be different for the Jump functions already. It seems that passing -flto makes the machinery behave differently for some reason (note this is compile-stage only so make sure to also pass -ffat-lto-objects). Martin? Honza? Maybe this is because of ipa_compute_jump_functions (struct cgraph_node *node, struct param_analysis_info *parms_ainfo) { struct cgraph_edge *cs; for (cs = node->callees; cs; cs = cs->next_callee) { struct cgraph_node *callee = cgraph_function_or_thunk_node (cs->callee, NULL); /* We do not need to bother analyzing calls to unknown functions unless they may become known during lto/whopr. */ if (!callee->definition && !flag_lto) continue; ? Or other flag_lto tests? Or maybe this is just because -fwhole-program is interpreted differently when used with/without -flto? Indeed the actual transforms of -flto -fwhole-program match those of -fno-lto -fno-whole-program.