aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 8dfaffb..8da78c8 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3655,7 +3655,7 @@ tree_make_forwarder_block (edge fallthru)
edge e;
edge_iterator ei;
basic_block dummy, bb;
- tree phi, new_phi, var, prev, next;
+ tree phi, new_phi, var;
dummy = fallthru->src;
bb = fallthru->dest;
@@ -3675,14 +3675,7 @@ tree_make_forwarder_block (edge fallthru)
}
/* Ensure that the PHI node chain is in the same order. */
- prev = NULL;
- for (phi = phi_nodes (bb); phi; phi = next)
- {
- next = PHI_CHAIN (phi);
- PHI_CHAIN (phi) = prev;
- prev = phi;
- }
- set_phi_nodes (bb, prev);
+ set_phi_nodes (bb, phi_reverse (phi_nodes (bb)));
/* Add the arguments we have stored on edges. */
FOR_EACH_EDGE (e, ei, bb->preds)
@@ -4281,7 +4274,7 @@ tree_duplicate_bb (basic_block bb)
mark_for_rewrite (PHI_RESULT (phi));
create_phi_node (PHI_RESULT (phi), new_bb);
}
- set_phi_nodes (new_bb, nreverse (phi_nodes (new_bb)));
+ set_phi_nodes (new_bb, phi_reverse (phi_nodes (new_bb)));
bsi_tgt = bsi_start (new_bb);
for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))