summaryrefslogtreecommitdiff
path: root/gcc/graphite-sese-to-poly.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2011-01-25 06:47:21 +0000
committerSebastian Pop <spop@gcc.gnu.org>2011-01-25 06:47:21 +0000
commitc513da01e3e9f1d8516858b995a3a9c274494f1a (patch)
tree7fda3df477b00ff356e2e1b06aea838d215ecfee /gcc/graphite-sese-to-poly.c
parent3a292d59099b0932abcad997e618d3d2ff22b8f3 (diff)
downloadgcc-c513da01e3e9f1d8516858b995a3a9c274494f1a.tar.gz
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. From-SVN: r169212
Diffstat (limited to 'gcc/graphite-sese-to-poly.c')
-rw-r--r--gcc/graphite-sese-to-poly.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 301fb9688ca..a7178efed94 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -2640,7 +2640,9 @@ split_reduction_stmt (scop_p scop, gimple stmt)
/* Do not split basic blocks with no writes to memory: the reduction
will be the only write to memory. */
- if (nb_data_writes_in_bb (bb) == 0)
+ if (nb_data_writes_in_bb (bb) == 0
+ /* Or if we have already marked BB as a reduction. */
+ || PBB_IS_REDUCTION (pbb_from_bb (bb)))
return bb;
e1 = split_pbb (scop, pbb, bb, stmt);