https://gcc.gnu.org/g:4412a29012fe54685f4c52656b924391a7b68666
commit r16-5254-g4412a29012fe54685f4c52656b924391a7b68666 Author: Andrew Pinski <[email protected]> Date: Sun Nov 9 17:17:49 2025 -0800 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 <[email protected]> Diff: --- 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 c2476b15af8e..14ebeb35e645 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);
