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?

        Jakub

Reply via email to