diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2018-08-09 14:37:24 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2018-08-09 14:37:24 +0000 |
commit | 4beb66421fe0e19d3310c75af3502018119423c6 (patch) | |
tree | d29d725c6db8bb82ab3bf4eb09d205680c70ba69 /gcc/tree-vect-stmts.c | |
parent | 16621f0de36074287eca820cd34de79ab8ee3486 (diff) | |
download | gcc-4beb66421fe0e19d3310c75af3502018119423c6.zip gcc-4beb66421fe0e19d3310c75af3502018119423c6.tar.gz gcc-4beb66421fe0e19d3310c75af3502018119423c6.tar.bz2 |
Fix invalid assumption in vect_transform_stmt (PR 86871)
The handling of outer-loop uses of inner-loop definitions assumed
that anything that wasn't a PHI would be a gassign. It's also
possible for it to be a gcall.
2018-08-08 Richard Sandiford <richard.sandiford@arm.com>
gcc/
PR tree-optimization/86871
* tree-vect-stmts.c (vect_transform_stmt): Use gimple_get_lhs
instead of gimple_assign_lhs.
gcc/testsuite/
PR tree-optimization/86871
* gcc.dg/vect/pr86871.c: New test.
From-SVN: r263447
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r-- | gcc/tree-vect-stmts.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index cfc8388..89d516c 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -9804,7 +9804,7 @@ vect_transform_stmt (stmt_vec_info stmt_info, gimple_stmt_iterator *gsi, if (gimple_code (stmt) == GIMPLE_PHI) scalar_dest = PHI_RESULT (stmt); else - scalar_dest = gimple_assign_lhs (stmt); + scalar_dest = gimple_get_lhs (stmt); FOR_EACH_IMM_USE_FAST (use_p, imm_iter, scalar_dest) if (!flow_bb_inside_loop_p (innerloop, gimple_bb (USE_STMT (use_p)))) |