Hi, On Fri, Nov 25, 2016 at 02:10:51PM +0100, Jan Hubicka wrote: > > On Thu, Nov 24, 2016 at 5:44 PM, Martin Jambor <mjam...@suse.cz> wrote: > > > > > > ... > > > > > > 2016-11-24 Martin Jambor <mjam...@suse.cz> > > > > > > gcc/ > > > * passes.def (pass_build_ssa_passes): Add > > > pass_rebuild_cgraph_edges. > > > > > > gcc/testsuite/ > > > * g++.dg/pr70965.C: New test. > > > --- > > > gcc/passes.def | 1 + > > > gcc/testsuite/g++.dg/pr70965.C | 21 +++++++++++++++++++++ > > > 2 files changed, 22 insertions(+) > > > create mode 100644 gcc/testsuite/g++.dg/pr70965.C > > > > > > diff --git a/gcc/passes.def b/gcc/passes.def > > > index 85a5af0..5faf17f 100644 > > > --- a/gcc/passes.def > > > +++ b/gcc/passes.def > > > @@ -56,6 +56,7 @@ along with GCC; see the file COPYING3. If not see > > > NEXT_PASS (pass_build_ssa_passes); > > > PUSH_INSERT_PASSES_WITHIN (pass_build_ssa_passes) > > > NEXT_PASS (pass_fixup_cfg); > > > + NEXT_PASS (pass_rebuild_cgraph_edges); > > > NEXT_PASS (pass_build_ssa); > > > NEXT_PASS (pass_warn_nonnull_compare); > > > NEXT_PASS (pass_ubsan); > > Actually you want to rebuild at the end of pass_build_ssa_passes passes queue. > This may still trip an ICE if one of passes bellow modify CFG (which > pass_nothorw > does) > > Path is OK with that change.
Well, I have already committed the patch as it was. But given the above, I will commit the following to trunk after bootstrapping and testing. Thanks, Martin 2016-12-02 Martin Jambor <mjam...@suse.cz> * passes.def: Move pass_rebuild_cgraph_edges to the end of pass_build_ssa_passes. --- gcc/passes.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/passes.def b/gcc/passes.def index 1117b8b..7b12a41 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -56,12 +56,12 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_build_ssa_passes); PUSH_INSERT_PASSES_WITHIN (pass_build_ssa_passes) NEXT_PASS (pass_fixup_cfg); - NEXT_PASS (pass_rebuild_cgraph_edges); NEXT_PASS (pass_build_ssa); NEXT_PASS (pass_warn_nonnull_compare); NEXT_PASS (pass_ubsan); NEXT_PASS (pass_early_warn_uninitialized); NEXT_PASS (pass_nothrow); + NEXT_PASS (pass_rebuild_cgraph_edges); POP_INSERT_PASSES () NEXT_PASS (pass_chkp_instrumentation_passes); -- 2.10.2