diff options
author | Ira Rosen <irar@il.ibm.com> | 2007-09-12 08:48:44 +0000 |
---|---|---|
committer | Ira Rosen <irar@gcc.gnu.org> | 2007-09-12 08:48:44 +0000 |
commit | f5d8ed2c51c746d3d1e31fad0b55fb3a43a981c7 (patch) | |
tree | dc82958fed7fc3a20d97d4f7113b549d2c444dbb /gcc/tree-vect-analyze.c | |
parent | 7323b6643e2f929f49b68582217e9a9b2182df57 (diff) | |
download | gcc-f5d8ed2c51c746d3d1e31fad0b55fb3a43a981c7.zip gcc-f5d8ed2c51c746d3d1e31fad0b55fb3a43a981c7.tar.gz gcc-f5d8ed2c51c746d3d1e31fad0b55fb3a43a981c7.tar.bz2 |
tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish between positive and negative dependence distance using DDR_REVERSED_P.
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish
between positive and negative dependence distance using DDR_REVERSED_P.
From-SVN: r128420
Diffstat (limited to 'gcc/tree-vect-analyze.c')
-rw-r--r-- | gcc/tree-vect-analyze.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/tree-vect-analyze.c b/gcc/tree-vect-analyze.c index 51f0294..c9f559b 100644 --- a/gcc/tree-vect-analyze.c +++ b/gcc/tree-vect-analyze.c @@ -1212,12 +1212,15 @@ vect_analyze_data_ref_dependence (struct data_dependence_relation *ddr, continue; } - if (abs (dist) >= vectorization_factor) + if (abs (dist) >= vectorization_factor + || (dist > 0 && DDR_REVERSED_P (ddr))) { - /* Dependence distance does not create dependence, as far as vectorization - is concerned, in this case. */ + /* Dependence distance does not create dependence, as far as + vectorization is concerned, in this case. If DDR_REVERSED_P the + order of the data-refs in DDR was reversed (to make distance + vector positive), and the actual distance is negative. */ if (vect_print_dump_info (REPORT_DR_DETAILS)) - fprintf (vect_dump, "dependence distance >= VF."); + fprintf (vect_dump, "dependence distance >= VF or negative."); continue; } |