diff options
Diffstat (limited to 'gcc/cfgloopanal.c')
-rw-r--r-- | gcc/cfgloopanal.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c index 4c50bbe..87c85e3 100644 --- a/gcc/cfgloopanal.c +++ b/gcc/cfgloopanal.c @@ -267,6 +267,7 @@ mark_irreducible_loops (struct loops *loops) { basic_block act; edge e; + edge_iterator ei; int i, src, dest; struct graph *g; int *queue1 = xmalloc ((last_basic_block + loops->num) * sizeof (int)); @@ -278,7 +279,7 @@ mark_irreducible_loops (struct loops *loops) FOR_BB_BETWEEN (act, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, next_bb) { act->flags &= ~BB_IRREDUCIBLE_LOOP; - for (e = act->succ; e; e = e->succ_next) + FOR_EACH_EDGE (e, ei, act->succs) e->flags &= ~EDGE_IRREDUCIBLE_LOOP; } @@ -286,7 +287,7 @@ mark_irreducible_loops (struct loops *loops) g = new_graph (last_basic_block + loops->num); FOR_BB_BETWEEN (act, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, next_bb) - for (e = act->succ; e; e = e->succ_next) + FOR_EACH_EDGE (e, ei, act->succs) { /* Ignore edges to exit. */ if (e->dest == EXIT_BLOCK_PTR) @@ -415,6 +416,7 @@ unsigned expected_loop_iterations (const struct loop *loop) { edge e; + edge_iterator ei; if (loop->header->count) { @@ -423,7 +425,7 @@ expected_loop_iterations (const struct loop *loop) count_in = 0; count_latch = 0; - for (e = loop->header->pred; e; e = e->pred_next) + FOR_EACH_EDGE (e, ei, loop->header->preds) if (e->src == loop->latch) count_latch = e->count; else @@ -444,7 +446,7 @@ expected_loop_iterations (const struct loop *loop) freq_in = 0; freq_latch = 0; - for (e = loop->header->pred; e; e = e->pred_next) + FOR_EACH_EDGE (e, ei, loop->header->preds) if (e->src == loop->latch) freq_latch = EDGE_FREQUENCY (e); else |