aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-10-16 10:05:21 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-10-16 10:05:21 +0000
commitbf78ed91a445d188e4368adc30dd5c32d973ed6e (patch)
treec669ce11a50ae1fd1abba49142273090cd79fbaa /gcc
parent96eb7d7a642085f651e9940f0ee75568d7c4441d (diff)
downloadgcc-bf78ed91a445d188e4368adc30dd5c32d973ed6e.zip
gcc-bf78ed91a445d188e4368adc30dd5c32d973ed6e.tar.gz
gcc-bf78ed91a445d188e4368adc30dd5c32d973ed6e.tar.bz2
re PR tree-optimization/92119 (ICE: SIGSEGV in contains_struct_check (tree.h:3380) with -Os -fno-tree-dce -fno-tree-dse -ftree-slp-vectorize)
2019-10-16 Richard Biener <rguenther@suse.de> PR tree-optimization/92119 * tree-vect-patterns.c (vect_recog_rotate_pattern): Guard against missing bswap lhs. From-SVN: r277057
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vect-patterns.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 072eb8c..37f42cf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-10-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/92119
+ * tree-vect-patterns.c (vect_recog_rotate_pattern): Guard
+ against missing bswap lhs.
+
2019-10-16 Richard Sandiford <richard.sandiford@arm.com>
PR middle-end/92033
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index f9c7408..385482f 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -2199,7 +2199,8 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
lhs = gimple_call_lhs (last_stmt);
oprnd0 = gimple_call_arg (last_stmt, 0);
type = TREE_TYPE (oprnd0);
- if (TYPE_PRECISION (TREE_TYPE (lhs)) != 16
+ if (!lhs
+ || TYPE_PRECISION (TREE_TYPE (lhs)) != 16
|| TYPE_PRECISION (type) <= 16
|| TREE_CODE (oprnd0) != SSA_NAME
|| BITS_PER_UNIT != 8