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.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 3a50741..a4daaa2 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -949,17 +949,9 @@ combine_blocks (struct loop *loop)
/* Update stmt list. */
last = tsi_last (merge_target_bb->stmt_list);
tsi_link_after (&last, bb->stmt_list, TSI_NEW_STMT);
- bb->stmt_list = NULL;
+ bb->stmt_list = alloc_stmt_list ();
- /* Update dominator info. */
- if (dom_computed[CDI_DOMINATORS])
- delete_from_dominance_info (CDI_DOMINATORS, bb);
- if (dom_computed[CDI_POST_DOMINATORS])
- delete_from_dominance_info (CDI_POST_DOMINATORS, bb);
-
- /* Remove basic block. */
- remove_bb_from_loops (bb);
- expunge_block (bb);
+ delete_basic_block (bb);
}
/* Now if possible, merge loop header and block with exit edge.
@@ -968,10 +960,7 @@ combine_blocks (struct loop *loop)
if (exit_bb
&& exit_bb != loop->header
&& can_merge_blocks_p (loop->header, exit_bb))
- {
- remove_bb_from_loops (exit_bb);
- merge_blocks (loop->header, exit_bb);
- }
+ merge_blocks (loop->header, exit_bb);
}
/* Make new temp variable of type TYPE. Add MODIFY_EXPR to assign EXP