diff options
author | Richard Biener <rguenther@suse.de> | 2018-05-28 10:31:46 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-05-28 10:31:46 +0000 |
commit | 3b1cffccce40e80eeb5f24893ce4fbd0e242b319 (patch) | |
tree | 671ad0c9f35b572f23efd689b07e0b9ce1f58ad4 | |
parent | b29502e735e6eafd451a27422e5c8fe211ad0716 (diff) | |
download | gcc-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/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/tree-vect-data-refs.c | 6 |
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. */ |