From: Andrew Pinski Date: Sat, 17 Jan 2026 04:25:56 +0000 (-0800) Subject: slsr: fix overflow from create_add_on_incoming_edge [PR106883] X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8ae508ca5a3cf5ed4c0d511bb41c47ed005e5a06;p=thirdparty%2Fgcc.git slsr: fix overflow from create_add_on_incoming_edge [PR106883] This fixes the overlfow that might be introduced from creater_add_on_incoming_edge. I have not found a testcase where this shows up, there possibility could be. PR tree-optimization/106883 gcc/ChangeLog: * gimple-ssa-strength-reduction.cc (create_add_on_incoming_edge): Rewrite the new addition on the edge too. Signed-off-by: Andrew Pinski --- diff --git a/gcc/gimple-ssa-strength-reduction.cc b/gcc/gimple-ssa-strength-reduction.cc index abfc8e00d81..990943c767c 100644 --- a/gcc/gimple-ssa-strength-reduction.cc +++ b/gcc/gimple-ssa-strength-reduction.cc @@ -2364,7 +2364,14 @@ create_add_on_incoming_edge (slsr_cand_t c, tree basis_name, } gimple_set_location (new_stmt, loc); - gsi_insert_on_edge (e, new_stmt); + if (gimple_needing_rewrite_undefined (new_stmt)) + { + gimple_seq stmts; + stmts = rewrite_to_defined_unconditional (new_stmt); + gsi_insert_seq_on_edge (e, stmts); + } + else + gsi_insert_on_edge (e, new_stmt); if (dump_file && (dump_flags & TDF_DETAILS)) {