aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-05-28 10:31:46 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-05-28 10:31:46 +0000
commit3b1cffccce40e80eeb5f24893ce4fbd0e242b319 (patch)
tree671ad0c9f35b572f23efd689b07e0b9ce1f58ad4
parentb29502e735e6eafd451a27422e5c8fe211ad0716 (diff)
downloadgcc-3b1cffccce40e80eeb5f24893ce4fbd0e242b319.zip
gcc-3b1cffccce40e80eeb5f24893ce4fbd0e242b319.tar.gz
gcc-3b1cffccce40e80eeb5f24893ce4fbd0e242b319.tar.bz2
re PR middle-end/85933 (FAIL: gcc.dg/sso/p8.c -O3 -finline-functions (internal compiler error))
2018-05-28 Richard Biener <rguenther@suse.de> PR tree-optimization/85933 * tree-vect-data-refs.c (vect_record_base_alignments): Only look at stmts marked as vectorizable. From-SVN: r260848
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/tree-vect-data-refs.c6
2 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index daf697c..58ab2b4e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2018-05-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/85933
+ * tree-vect-data-refs.c (vect_record_base_alignments): Only
+ look at stmts marked as vectorizable.
+
+2018-05-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/85934
+ * tree-vect-generic.c (expand_vector_operations_1): Hoist
+ vector boolean check before scalar optimization.
+
2018-05-28 Jakub Jelinek <jakub@redhat.com>
* doc/invoke.texi (ARM Options): Use @item instead of @itemx
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 331423a..f46eb46 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -829,7 +829,10 @@ vect_record_base_alignments (vec_info *vinfo)
data_reference *dr;
unsigned int i;
FOR_EACH_VEC_ELT (vinfo->datarefs, i, dr)
- if (!DR_IS_CONDITIONAL_IN_STMT (dr))
+ {
+ gimple *stmt = DR_STMT (dr);
+ if (!DR_IS_CONDITIONAL_IN_STMT (dr)
+ && STMT_VINFO_VECTORIZABLE (vinfo_for_stmt (stmt)))
{
gimple *stmt = DR_STMT (dr);
vect_record_base_alignment (vinfo, stmt, &DR_INNERMOST (dr));
@@ -843,6 +846,7 @@ vect_record_base_alignments (vec_info *vinfo)
(vinfo, stmt, &STMT_VINFO_DR_WRT_VEC_LOOP (stmt_info));
}
}
+ }
}
/* Return the target alignment for the vectorized form of DR. */