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 <andrew.pinski@oss.qualcomm.com>
}
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))
{