diff options
Diffstat (limited to 'polly/lib/CodeGen/IslCodeGeneration.cpp')
-rw-r--r-- | polly/lib/CodeGen/IslCodeGeneration.cpp | 6 |
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); |