re PR middle-end/85933 (FAIL: gcc.dg/sso/p8.c -O3 -finline-functions (internal...
authorRichard Biener <rguenther@suse.de>
Mon, 28 May 2018 10:31:46 +0000 (10:31 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 28 May 2018 10:31:46 +0000 (10:31 +0000)
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

gcc/ChangeLog
gcc/tree-vect-data-refs.c

index daf697caf561547a40acbc00c1190c021b815386..58ab2b4ed461006a9659311af874e7c97582aee7 100644 (file)
@@ -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
index 331423af8215b864498afc44c527d85e3ce62110..f46eb467da61653ddcbea808b96735a19bdc290d 100644 (file)
@@ -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.  */