diff options
Diffstat (limited to 'gcc/df.c')
-rw-r--r-- | gcc/df.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -3796,18 +3796,19 @@ hybrid_search (basic_block bb, struct dataflow *dataflow, int changed; int i = bb->index; edge e; + edge_iterator ei; SET_BIT (visited, bb->index); gcc_assert (TEST_BIT (pending, bb->index)); RESET_BIT (pending, i); -#define HS(E_ANTI, E_ANTI_NEXT, E_ANTI_BB, E_ANTI_START_BB, IN_SET, \ - E, E_NEXT, E_BB, E_START_BB, OUT_SET) \ +#define HS(E_ANTI, E_ANTI_BB, E_ANTI_START_BB, IN_SET, \ + E, E_BB, E_START_BB, OUT_SET) \ do \ { \ /* Calculate <conf_op> of predecessor_outs. */ \ bitmap_zero (IN_SET[i]); \ - for (e = bb->E_ANTI; e; e = e->E_ANTI_NEXT) \ + FOR_EACH_EDGE (e, ei, bb->E_ANTI) \ { \ if (e->E_ANTI_BB == E_ANTI_START_BB) \ continue; \ @@ -3827,7 +3828,7 @@ hybrid_search (basic_block bb, struct dataflow *dataflow, if (!changed) \ break; \ \ - for (e = bb->E; e; e = e->E_NEXT) \ + FOR_EACH_EDGE (e, ei, bb->E) \ { \ if (e->E_BB == E_START_BB || e->E_BB->index == i) \ continue; \ @@ -3838,7 +3839,7 @@ hybrid_search (basic_block bb, struct dataflow *dataflow, SET_BIT (pending, e->E_BB->index); \ } \ \ - for (e = bb->E; e; e = e->E_NEXT) \ + FOR_EACH_EDGE (e, ei, bb->E) \ { \ if (e->E_BB == E_START_BB || e->E_BB->index == i) \ continue; \ @@ -3852,11 +3853,11 @@ hybrid_search (basic_block bb, struct dataflow *dataflow, } while (0) if (dataflow->dir == DF_FORWARD) - HS (pred, pred_next, src, ENTRY_BLOCK_PTR, dataflow->in, - succ, succ_next, dest, EXIT_BLOCK_PTR, dataflow->out); + HS (preds, src, ENTRY_BLOCK_PTR, dataflow->in, + succs, dest, EXIT_BLOCK_PTR, dataflow->out); else - HS (succ, succ_next, dest, EXIT_BLOCK_PTR, dataflow->out, - pred, pred_next, src, ENTRY_BLOCK_PTR, dataflow->in); + HS (succs, dest, EXIT_BLOCK_PTR, dataflow->out, + preds, src, ENTRY_BLOCK_PTR, dataflow->in); } /* This function will perform iterative bitvector dataflow described by |