aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r--gcc/tree-if-conv.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 40ad4c5..822aae5 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -3060,9 +3060,6 @@ tree_if_conversion (class loop *loop, vec<gimple *> *preds)
on-the-fly. */
combine_blocks (loop);
- /* Delete dead predicate computations. */
- ifcvt_local_dce (loop->header);
-
/* Perform local CSE, this esp. helps the vectorizer analysis if loads
and stores are involved. CSE only the loop body, not the entry
PHIs, those are to be kept in sync with the non-if-converted copy.
@@ -3071,6 +3068,9 @@ tree_if_conversion (class loop *loop, vec<gimple *> *preds)
bitmap_set_bit (exit_bbs, single_exit (loop)->dest->index);
bitmap_set_bit (exit_bbs, loop->latch->index);
todo |= do_rpo_vn (cfun, loop_preheader_edge (loop), exit_bbs);
+
+ /* Delete dead predicate computations. */
+ ifcvt_local_dce (loop->header);
BITMAP_FREE (exit_bbs);
todo |= TODO_cleanup_cfg;