mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 00:51:00 +08:00
tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do not consider dependences between accesses that belong to the same group.
2016-06-15 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do not consider dependences between accesses that belong to the same group. (vect_analyze_data_ref_dependences): Do not analyze read-read or self-dependences. * gcc.dg/vect/bb-slp-pattern-2.c: Disable loop vectorization. From-SVN: r237473
This commit is contained in:
parent
6a3f203c3c
commit
2a5825f23b
@ -1,3 +1,11 @@
|
||||
2016-06-15 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do
|
||||
not consider dependences between accesses that belong to the
|
||||
same group.
|
||||
(vect_analyze_data_ref_dependences): Do not analyze read-read
|
||||
or self-dependences.
|
||||
|
||||
2016-06-14 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* spellcheck-tree.c: Include spellcheck-tree.h rather than
|
||||
|
@ -1,3 +1,7 @@
|
||||
2016-06-15 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* gcc.dg/vect/bb-slp-pattern-2.c: Disable loop vectorization.
|
||||
|
||||
2016-06-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||||
|
||||
* gcc.target/powerpc/vsx-elemrev-2.c: Change effective target
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* { dg-require-effective-target vect_condition } */
|
||||
/* { dg-additional-options "-fno-tree-vectorize -ftree-slp-vectorize -ftree-loop-if-convert" } */
|
||||
|
||||
#include "tree-vect.h"
|
||||
|
||||
|
@ -227,6 +227,12 @@ vect_analyze_data_ref_dependence (struct data_dependence_relation *ddr,
|
||||
|| (DR_IS_READ (dra) && DR_IS_READ (drb)))
|
||||
return false;
|
||||
|
||||
/* We do not have to consider dependences between accesses that belong
|
||||
to the same group. */
|
||||
if (GROUP_FIRST_ELEMENT (stmtinfo_a)
|
||||
&& GROUP_FIRST_ELEMENT (stmtinfo_a) == GROUP_FIRST_ELEMENT (stmtinfo_b))
|
||||
return false;
|
||||
|
||||
/* Even if we have an anti-dependence then, as the vectorized loop covers at
|
||||
least two scalar iterations, there is always also a true dependence.
|
||||
As the vectorizer does not re-order loads and stores we can ignore
|
||||
@ -469,7 +475,7 @@ vect_analyze_data_ref_dependences (loop_vec_info loop_vinfo, int *max_vf)
|
||||
LOOP_VINFO_NO_DATA_DEPENDENCIES (loop_vinfo) = true;
|
||||
if (!compute_all_dependences (LOOP_VINFO_DATAREFS (loop_vinfo),
|
||||
&LOOP_VINFO_DDRS (loop_vinfo),
|
||||
LOOP_VINFO_LOOP_NEST (loop_vinfo), true))
|
||||
LOOP_VINFO_LOOP_NEST (loop_vinfo), false))
|
||||
return false;
|
||||
|
||||
FOR_EACH_VEC_ELT (LOOP_VINFO_DDRS (loop_vinfo), i, ddr)
|
||||
|
Loading…
x
Reference in New Issue
Block a user