From: Andrew Pinski Date: Mon, 10 Nov 2025 01:17:49 +0000 (-0800) Subject: mergephi: use edge iterator in remove_forwarder_block_with_phi X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4412a29012fe54685f4c52656b924391a7b68666;p=thirdparty%2Fgcc.git mergephi: use edge iterator in remove_forwarder_block_with_phi 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 --- 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);