aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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. */