This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PR 70965] Schedule extra pass_rebuild_cgraph_edges
- From: Martin Jambor <mjambor at suse dot cz>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <jh at suse dot cz>
- Date: Fri, 2 Dec 2016 16:48:05 +0100
- Subject: Re: [PR 70965] Schedule extra pass_rebuild_cgraph_edges
- Authentication-results: sourceware.org; auth=none
- References: <20161124164456.m7aavu3k76zpc7z5@virgil.suse.cz> <CAFiYyc0asNFYVn2nYLOBPbqda2HGF379VUM1oLkyiZL7ujfhkg@mail.gmail.com> <20161125131050.GB4846@atrey.karlin.mff.cuni.cz>
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 <mjambor@suse.cz> wrote:
> > >
> > > ...
> > >
> > > 2016-11-24 Martin Jambor <mjambor@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 <mjambor@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