diff options
author | Richard Biener <rguenther@suse.de> | 2019-11-12 12:08:07 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-11-12 12:08:07 +0000 |
commit | 830d1b18526dd1f085e8a2e1467a6dde18fc6434 (patch) | |
tree | c68a037d3b325b2a8ae7994fd915b409a113d340 /gcc/tree-vect-loop.c | |
parent | 6ed760441a35e308dc434fac1f6a6589668ee928 (diff) | |
download | gcc-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.c | 7 |
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 (); |