This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Simple enhancements to dumping in ipa.c and ipa-cp.c


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]