This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Simple enhancements to dumping in ipa.c and ipa-cp.c
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Martin Jambor <mjambor at suse dot cz>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Wed, 2 Apr 2014 18:08:27 +0200
- Subject: Re: [PATCH] Simple enhancements to dumping in ipa.c and ipa-cp.c
- Authentication-results: sourceware.org; auth=none
- References: <20140402122349 dot GZ19304 at virgil dot suse> <alpine dot LSU dot 2 dot 11 dot 1404021426140 dot 31108 at zhemvz dot fhfr dot qr>
> On Wed, 2 Apr 2014, Martin Jambor wrote:
>
> > Hi,
> >
> > recently I've been looking into a number of bugs involving
> > symtab_remove_unreachable_nodes in one way or another and I have
> > always started by applying the hunk below. I did this because
> > distinguishing different symbol nodes only according to their names is
> > just so inconvenient, especially when compiling C++. The risk is
> > minimal and therefore I'd like to propose it to trunk even at this
> > late stage, although I can of course wait until the next stage1.
> >
> > The other hunk is something that I think is also useful when looking
> > into all failures of ipcp_verify_propagated_values like e.g. PR 60727.
> >
> > I included the patch in a recent bootstrap and testing and it of
> > course passes. OK for trunk now? Or later?
>
> I'll leave the actual changes for review by Honza, it's fine at this
> stage if he things the changes make sense and are consistent.
It seems fine to me...
>
> Thanks,
> Richard.
>
> > Thanks,
> >
> > Martin
> >
> >
> > 2014-04-01 Martin Jambor <mjambor@suse.cz>
> >
> > * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
> > mention gcc_unreachable before failing.
> > * ipa.c (symtab_remove_unreachable_nodes): Also print order of
> > removed symbols.
> >
> > Index: src/gcc/ipa-cp.c
> > ===================================================================
> > --- src.orig/gcc/ipa-cp.c
> > +++ src/gcc/ipa-cp.c
> > @@ -884,8 +884,9 @@ ipcp_verify_propagated_values (void)
> > {
> > if (dump_file)
> > {
> > + dump_symtab (dump_file);
> > fprintf (dump_file, "\nIPA lattices after constant "
> > - "propagation:\n");
> > + "propagation, before gcc_unreachable:\n");
This means before symtab_remove_unreachable_nodes?
Honza
> > print_all_lattices (dump_file, true, false);
> > }
> >
> > Index: src/gcc/ipa.c
> > ===================================================================
> > --- src.orig/gcc/ipa.c
> > +++ src/gcc/ipa.c
> > @@ -469,7 +469,7 @@ symtab_remove_unreachable_nodes (bool be
> > if (!node->aux)
> > {
> > if (file)
> > - fprintf (file, " %s", node->name ());
> > + fprintf (file, " %s/%i", node->name (), node->order);
> > cgraph_remove_node (node);
> > changed = true;
> > }
> > @@ -483,7 +483,7 @@ symtab_remove_unreachable_nodes (bool be
> > if (node->definition)
> > {
> > if (file)
> > - fprintf (file, " %s", node->name ());
> > + fprintf (file, " %s/%i", node->name (), node->order);
> > node->body_removed = true;
> > node->analyzed = false;
> > node->definition = false;
> > @@ -531,7 +531,7 @@ symtab_remove_unreachable_nodes (bool be
> > && (!flag_ltrans || !DECL_EXTERNAL (vnode->decl)))
> > {
> > if (file)
> > - fprintf (file, " %s", vnode->name ());
> > + fprintf (file, " %s/%i", vnode->name (), vnode->order);
> > varpool_remove_node (vnode);
> > changed = true;
> > }
> >
> >
>
> --
> Richard Biener <rguenther@suse.de>
> SUSE / SUSE Labs
> SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
> GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer