aboutsummaryrefslogtreecommitdiff
path: root/gcc/graphite-dependences.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2011-01-25 06:47:21 +0000
committerSebastian Pop <sebastian.pop@amd.com>2011-01-25 06:47:21 +0000
commit1424647c9fbef92c8540b63adc86e578faf41018 (patch)
tree7fda3df477b00ff356e2e1b06aea838d215ecfee /gcc/graphite-dependences.c
parentfe41998e0f35de65a0ec9554f3670ede7fbe056a (diff)
Allow several reductions in a reduction PBB.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (reduction_dr_1): Allow several reductions in a reduction PBB. * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs that have already been marked as PBB_IS_REDUCTION. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@169212 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-dependences.c')
-rw-r--r--gcc/graphite-dependences.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index d45c7ce2aea..b9b1d1b5880 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -571,10 +571,11 @@ reduction_dr_1 (poly_bb_p pbb1, poly_dr_p pdr1, poly_dr_p pdr2)
poly_dr_p pdr;
FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), i, pdr)
- if (PDR_TYPE (pdr) == PDR_WRITE)
- break;
+ if (PDR_TYPE (pdr) == PDR_WRITE
+ && same_pdr_p (pdr, pdr1) && same_pdr_p (pdr, pdr2))
+ return true;
- return same_pdr_p (pdr, pdr1) && same_pdr_p (pdr, pdr2);
+ return false;
}
/* Return true when the data dependence relation between the data