http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58492
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- With -fipa-pta at t.c.054t.copyrename2 we have f.constprop () { <bb 2>: f.constprop (); return; } f (int p, short int q) { <bb 2>: f.constprop (); return; } but without -fipa-pta we get f (int p, short int q) { <bb 2>: f.constprop (); } appearantly /* SIPLE IPA passes do not handle callgraphs with IPA transforms in it. Apply all trnasforms first. */ if (pass->type == SIMPLE_IPA_PASS) { bool applied = false; do_per_function (apply_ipa_transforms, (void *)&applied); if (applied) symtab_remove_unreachable_nodes (true, dump_file); /* Restore current_pass. */ current_pass = pass; } breaks things because we instantiate the clone before executing late local-pure-const for f.constprop () this way and thus miss the state change in the caller and the fixup-cfg required by it. In 4.8 we had as first pass in all_passes a pass_fixup_cfg but appearantly I removed that(?) ... Mine.