From 70458d76db278e538d23bea83413e43db0acf955 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 14 Mar 2018 10:55:45 +0000 Subject: [PATCH] tree-ssa-pre.c (compute_antic_aux): Remove code that asserts that the value-set of ANTIC_IN doesn't grow. 2018-03-14 Richard Biener * 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 | 11 +++++++++++ gcc/tree-ssa-pre.c | 27 +-------------------------- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3be155db831..480db486de8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2018-03-14 Richard Biener + + * 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 * config.gcc (icelake-client, icelake-server): New. diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index c3d2bbac957..11b1938216e 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -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 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. -- 2.30.2