diff options
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 8e318a0..e5fb434 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -8434,8 +8434,13 @@ update_epilogue_loop_vinfo (class loop *epilogue, tree advance) gimple_set_op (stmt, j, *new_op); else { + /* PR92429: The last argument of simplify_replace_tree disables + folding when replacing arguments. This is required as + otherwise you might end up with different statements than the + ones analyzed in vect_loop_analyze, leading to different + vectorization. */ op = simplify_replace_tree (op, NULL_TREE, NULL_TREE, - &find_in_mapping, &mapping); + &find_in_mapping, &mapping, false); gimple_set_op (stmt, j, op); } } |