aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-11-12 12:08:07 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-11-12 12:08:07 +0000
commit830d1b18526dd1f085e8a2e1467a6dde18fc6434 (patch)
treec68a037d3b325b2a8ae7994fd915b409a113d340 /gcc/tree-vect-loop.c
parent6ed760441a35e308dc434fac1f6a6589668ee928 (diff)
downloadgcc-830d1b18526dd1f085e8a2e1467a6dde18fc6434.zip
gcc-830d1b18526dd1f085e8a2e1467a6dde18fc6434.tar.gz
gcc-830d1b18526dd1f085e8a2e1467a6dde18fc6434.tar.bz2
re PR tree-optimization/92461 (ICE: verify_ssa failed (error: excess use operand for statement))
2019-11-12 Richard Biener <rguenther@suse.de> PR tree-optimization/92461 * tree-vect-loop.c (vect_create_epilog_for_reduction): Update stmt after propagation. * gcc.dg/torture/pr92461.c: New testcase. From-SVN: r278093
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index d0fb6c2..29770db 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -5299,8 +5299,11 @@ vect_create_epilog_for_reduction (stmt_vec_info stmt_info,
orig_name = PHI_RESULT (exit_phi);
scalar_result = scalar_results[k];
FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, orig_name)
- FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
- SET_USE (use_p, scalar_result);
+ {
+ FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
+ SET_USE (use_p, scalar_result);
+ update_stmt (use_stmt);
+ }
}
phis.release ();