diff options
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r-- | gcc/tree-if-conv.c | 17 |
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 |