aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-05-22 12:34:46 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-05-22 12:34:46 +0000
commit7ac5a14092e76fe71a3d8660a30079e35d2618f5 (patch)
tree246ba9aea3e91c1c4e992aadb3c6f0c3574c99cf /gcc/tree-vect-stmts.c
parentcaef4e579db9d9ab0cc7eba35e58b04e4ac65649 (diff)
downloadgcc-7ac5a14092e76fe71a3d8660a30079e35d2618f5.zip
gcc-7ac5a14092e76fe71a3d8660a30079e35d2618f5.tar.gz
gcc-7ac5a14092e76fe71a3d8660a30079e35d2618f5.tar.bz2
re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484)
2015-05-22 Richard Biener <rguenther@suse.de> PR tree-optimization/66251 * tree-vect-stmts.c (vectorizable_conversion): Properly set STMT_VINFO_VEC_STMT even for the SLP case. * gfortran.fortran-torture/compile/pr66251.f90: New testcase. From-SVN: r223552
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r--gcc/tree-vect-stmts.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 1f68ff5..1e7b135 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -3964,14 +3964,12 @@ vectorizable_conversion (gimple stmt, gimple_stmt_iterator *gsi,
if (slp_node)
SLP_TREE_VEC_STMTS (slp_node).quick_push (new_stmt);
+
+ if (!prev_stmt_info)
+ STMT_VINFO_VEC_STMT (stmt_info) = new_stmt;
else
- {
- if (!prev_stmt_info)
- STMT_VINFO_VEC_STMT (stmt_info) = new_stmt;
- else
- STMT_VINFO_RELATED_STMT (prev_stmt_info) = new_stmt;
- prev_stmt_info = vinfo_for_stmt (new_stmt);
- }
+ STMT_VINFO_RELATED_STMT (prev_stmt_info) = new_stmt;
+ prev_stmt_info = vinfo_for_stmt (new_stmt);
}
}