summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen/IslCodeGeneration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/CodeGen/IslCodeGeneration.cpp')
-rw-r--r--polly/lib/CodeGen/IslCodeGeneration.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/polly/lib/CodeGen/IslCodeGeneration.cpp b/polly/lib/CodeGen/IslCodeGeneration.cpp
index 641b7876ee3..90b73214bbe 100644
--- a/polly/lib/CodeGen/IslCodeGeneration.cpp
+++ b/polly/lib/CodeGen/IslCodeGeneration.cpp
@@ -314,7 +314,8 @@ void IslNodeBuilder::createForSequential(__isl_take isl_ast_node *For) {
CmpInst::Predicate Predicate;
bool Parallel;
- Parallel = IslAstInfo::isInnermostParallel(For);
+ Parallel = IslAstInfo::isInnermostParallel(For) &&
+ !IslAstInfo::isReductionParallel(For);
Body = isl_ast_node_for_get_body(For);
@@ -366,7 +367,8 @@ void IslNodeBuilder::createForSequential(__isl_take isl_ast_node *For) {
void IslNodeBuilder::createFor(__isl_take isl_ast_node *For) {
bool Vector = PollyVectorizerChoice != VECTORIZER_NONE;
- if (Vector && IslAstInfo::isInnermostParallel(For)) {
+ if (Vector && IslAstInfo::isInnermostParallel(For) &&
+ !IslAstInfo::isReductionParallel(For)) {
int VectorWidth = getNumberOfIterations(For);
if (1 < VectorWidth && VectorWidth <= 16) {
createForVector(For, VectorWidth);
OpenPOWER on IntegriCloud