It was always kinda of odd that while remove_forwarder_block used
an edge iterator, remove_forwarder_block_with_phi used a while loop.
remove_forwarder_block_with_phi was added after remove_forwarder_block too.
Anyways this changes remove_forwarder_block_with_phi into use the same
form of loop so it is easier to merge the 2.
gcc/ChangeLog:
* tree-cfgcleanup.cc (remove_forwarder_block_with_phi): Use
edge iterator instead of while loop.
Signed-off-by: Andrew Pinski <[email protected]>
---
gcc/tree-cfgcleanup.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gcc/tree-cfgcleanup.cc b/gcc/tree-cfgcleanup.cc
index c2476b15af8..14ebeb35e64 100644
--- a/gcc/tree-cfgcleanup.cc
+++ b/gcc/tree-cfgcleanup.cc
@@ -1284,7 +1284,7 @@ cleanup_tree_cfg (unsigned ssa_update_flags)
static bool
remove_forwarder_block_with_phi (basic_block bb)
{
- edge succ = single_succ_edge (bb);
+ edge e, succ = single_succ_edge (bb);
basic_block dest = succ->dest;
basic_block dombb, domdest, dom;
@@ -1304,9 +1304,9 @@ remove_forwarder_block_with_phi (basic_block bb)
bool dest_single_pred_p = single_pred_p (dest);
/* Redirect each incoming edge to BB to DEST. */
- while (EDGE_COUNT (bb->preds) > 0)
+ for (edge_iterator ei = ei_start (bb->preds); (e = ei_safe_edge (ei)); )
{
- edge e = EDGE_PRED (bb, 0), s;
+ edge s;
gphi_iterator gsi;
s = find_edge (e->src, dest);
--
2.43.0