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: Fix PRE heuristic for partial insertions


> On Thu, Nov 15, 2012 at 11:25:55AM +0100, Jan Hubicka wrote:
> > 	PR tree-optimization/54717
> > 	* tree-ssa-pre.c (do_partial_partial_insertion): Consider also edges
> > 	with ANTIC_IN.
> 
> As Richard is still away, Steven, could you please comment on this?
> 
> > Index: tree-ssa-pre.c
> > ===================================================================
> > *** tree-ssa-pre.c	(revision 193503)
> > --- tree-ssa-pre.c	(working copy)
> > *************** do_partial_partial_insertion (basic_bloc
> > *** 3525,3531 ****
> >   		 may cause regressions on the speed path.  */
> >   	      FOR_EACH_EDGE (succ, ei, block->succs)
> >   		{
> > ! 		  if (bitmap_set_contains_value (PA_IN (succ->dest), val))
> >   		    {
> >   		      if (optimize_edge_for_speed_p (succ))
> >   			do_insertion = true;
> > --- 3525,3532 ----
> >   		 may cause regressions on the speed path.  */
> >   	      FOR_EACH_EDGE (succ, ei, block->succs)
> >   		{
> > ! 		  if (bitmap_set_contains_value (PA_IN (succ->dest), val)
> > ! 		      || bitmap_set_contains_value (ANTIC_IN (succ->dest), val))
> >   		    {
> >   		      if (optimize_edge_for_speed_p (succ))
> >   			do_insertion = true;
> 
> All I wonder is about the dump message after this change:
>                   if (dump_file && (dump_flags & TDF_DETAILS))
>                     {
>                       fprintf (dump_file, "Skipping partial partial redundancy "
>                                "for expression ");
>                       print_pre_expr (dump_file, expr);
>                       fprintf (dump_file, " (%04d), not partially anticipated "
>                                "on any to be optimized for speed edges\n", val);
>                     }
> Isn't "not partially anticipated" out of date, now that it also checks for
> being (non-partially) anticipated on some speed edges?

Yep, we could put patially into brackets.

Honza
> 
> 	Jakub


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