tree-ssa-pre.c (compute_antic_aux): Remove code that asserts that the value-set of...
authorRichard Biener <rguenther@suse.de>
Wed, 14 Mar 2018 10:55:45 +0000 (10:55 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 14 Mar 2018 10:55:45 +0000 (10:55 +0000)
2018-03-14  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (compute_antic_aux): Remove code that asserts
that the value-set of ANTIC_IN doesn't grow.

Revert
* tree-ssa-pre.c (struct bb_bitmap_sets): Add visited_with_visited_succs
member.
(BB_VISITED_WITH_VISITED_SUCCS): New define.
(compute_antic): Initialize BB_VISITED_WITH_VISITED_SUCCS.

From-SVN: r258520

gcc/ChangeLog
gcc/tree-ssa-pre.c

index 3be155db8312f602ff9ce82923d21223dcf323e4..480db486de8773f04eb51544a8f36f8e4b2d4281 100644 (file)
@@ -1,3 +1,14 @@
+2018-03-14  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (compute_antic_aux): Remove code that asserts
+       that the value-set of ANTIC_IN doesn't grow.
+
+       Revert
+       * tree-ssa-pre.c (struct bb_bitmap_sets): Add visited_with_visited_succs
+       member.
+       (BB_VISITED_WITH_VISITED_SUCCS): New define.
+       (compute_antic): Initialize BB_VISITED_WITH_VISITED_SUCCS.
+
 2018-03-14  Julia Koval  <julia.koval@intel.com>
 
        * config.gcc (icelake-client, icelake-server): New.
index c3d2bbac957840b48f1e17071dfb0206bf69e0c3..11b1938216e85a0e362d2b181919ad38990b6e5d 100644 (file)
@@ -484,10 +484,6 @@ typedef struct bb_bitmap_sets
   /* True if we have visited this block during ANTIC calculation.  */
   unsigned int visited : 1;
 
-  /* True if we have visited this block after all successors have been
-     visited this way.  */
-  unsigned int visited_with_visited_succs : 1;
-
   /* True when the block contains a call that might not return.  */
   unsigned int contains_may_not_return_call : 1;
 } *bb_value_sets_t;
@@ -501,8 +497,6 @@ typedef struct bb_bitmap_sets
 #define NEW_SETS(BB)   ((bb_value_sets_t) ((BB)->aux))->new_sets
 #define EXPR_DIES(BB)  ((bb_value_sets_t) ((BB)->aux))->expr_dies
 #define BB_VISITED(BB) ((bb_value_sets_t) ((BB)->aux))->visited
-#define BB_VISITED_WITH_VISITED_SUCCS(BB) \
-    ((bb_value_sets_t) ((BB)->aux))->visited_with_visited_succs
 #define BB_MAY_NOTRETURN(BB) ((bb_value_sets_t) ((BB)->aux))->contains_may_not_return_call
 #define BB_LIVE_VOP_ON_EXIT(BB) ((bb_value_sets_t) ((BB)->aux))->vop_on_exit
 
@@ -2047,8 +2041,6 @@ compute_antic_aux (basic_block block, bool block_has_abnormal_pred_edge)
     {
       e = single_succ_edge (block);
       gcc_assert (BB_VISITED (e->dest));
-      BB_VISITED_WITH_VISITED_SUCCS (block)
-       = BB_VISITED_WITH_VISITED_SUCCS (e->dest);
       phi_translate_set (ANTIC_OUT, ANTIC_IN (e->dest), e);
     }
   /* If we have multiple successors, we take the intersection of all of
@@ -2059,7 +2051,6 @@ compute_antic_aux (basic_block block, bool block_has_abnormal_pred_edge)
       size_t i;
       edge first = NULL;
 
-      BB_VISITED_WITH_VISITED_SUCCS (block) = true;
       auto_vec<edge> worklist (EDGE_COUNT (block->succs));
       FOR_EACH_EDGE (e, ei, block->succs)
        {
@@ -2078,8 +2069,6 @@ compute_antic_aux (basic_block block, bool block_has_abnormal_pred_edge)
                fprintf (dump_file, "ANTIC_IN is MAX on %d->%d\n",
                         e->src->index, e->dest->index);
            }
-         BB_VISITED_WITH_VISITED_SUCCS (block)
-           &= BB_VISITED_WITH_VISITED_SUCCS (e->dest);
        }
 
       /* Of multiple successors we have to have visited one already
@@ -2184,19 +2173,7 @@ compute_antic_aux (basic_block block, bool block_has_abnormal_pred_edge)
     }
 
   if (!bitmap_set_equal (old, ANTIC_IN (block)))
-    {
-      changed = true;
-      /* After the initial value set computation the value set may
-         only shrink during the iteration.  */
-      if (was_visited && BB_VISITED_WITH_VISITED_SUCCS (block) && flag_checking)
-       {
-         bitmap_iterator bi;
-         unsigned int i;
-         EXECUTE_IF_AND_COMPL_IN_BITMAP (&ANTIC_IN (block)->values,
-                                         &old->values, 0, i, bi)
-           gcc_unreachable ();
-       }
-    }
+    changed = true;
 
  maybe_dump_sets:
   if (dump_file && (dump_flags & TDF_DETAILS))
@@ -2367,7 +2344,6 @@ compute_antic (void)
   FOR_ALL_BB_FN (block, cfun)
     {
       BB_VISITED (block) = 0;
-      BB_VISITED_WITH_VISITED_SUCCS (block) = 0;
 
       FOR_EACH_EDGE (e, ei, block->preds)
        if (e->flags & EDGE_ABNORMAL)
@@ -2384,7 +2360,6 @@ compute_antic (void)
 
   /* At the exit block we anticipate nothing.  */
   BB_VISITED (EXIT_BLOCK_PTR_FOR_FN (cfun)) = 1;
-  BB_VISITED_WITH_VISITED_SUCCS (EXIT_BLOCK_PTR_FOR_FN (cfun)) = 1;
 
   /* For ANTIC computation we need a postorder that also guarantees that
      a block with a single successor is visited after its successor.