diff options
Diffstat (limited to 'gcc/tree-ssa-propagate.c')
-rw-r--r-- | gcc/tree-ssa-propagate.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index f86f13b..e93b9c1 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -318,8 +318,9 @@ simulate_stmt (tree stmt) if (stmt_ends_bb_p (stmt)) { edge e; + edge_iterator ei; basic_block bb = bb_for_stmt (stmt); - for (e = bb->succ; e; e = e->succ_next) + FOR_EACH_EDGE (e, ei, bb->succs) add_control_edge (e); } } @@ -406,6 +407,7 @@ simulate_block (basic_block block) block_stmt_iterator j; unsigned int normal_edge_count; edge e, normal_edge; + edge_iterator ei; /* Note that we have simulated this block. */ SET_BIT (executable_blocks, block->index); @@ -434,7 +436,7 @@ simulate_block (basic_block block) worklist. */ normal_edge_count = 0; normal_edge = NULL; - for (e = block->succ; e; e = e->succ_next) + FOR_EACH_EDGE (e, ei, block->succs) { if (e->flags & EDGE_ABNORMAL) add_control_edge (e); @@ -457,6 +459,7 @@ static void ssa_prop_init (void) { edge e; + edge_iterator ei; basic_block bb; /* Worklists of SSA edges. */ @@ -482,13 +485,13 @@ ssa_prop_init (void) for (si = bsi_start (bb); !bsi_end_p (si); bsi_next (&si)) STMT_IN_SSA_EDGE_WORKLIST (bsi_stmt (si)) = 0; - for (e = bb->succ; e; e = e->succ_next) + FOR_EACH_EDGE (e, ei, bb->succs) e->flags &= ~EDGE_EXECUTABLE; } /* Seed the algorithm by adding the successors of the entry block to the edge worklist. */ - for (e = ENTRY_BLOCK_PTR->succ; e; e = e->succ_next) + FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR->succs) { if (e->dest != EXIT_BLOCK_PTR) { |