diff options
-rw-r--r-- | polly/lib/CodeGen/IslAst.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/polly/lib/CodeGen/IslAst.cpp b/polly/lib/CodeGen/IslAst.cpp index c60cd68e547..e8ce6b4dc0b 100644 --- a/polly/lib/CodeGen/IslAst.cpp +++ b/polly/lib/CodeGen/IslAst.cpp @@ -400,6 +400,14 @@ void IslAst::init(const Dependences &D) { bool PerformParallelTest = PollyParallel || DetectParallel || PollyVectorizerChoice != VECTORIZER_NONE; + // We can not perform the dependence analysis and, consequently, + // the parallel code generation in case the schedule tree contains + // extension nodes. + auto *ScheduleTree = S->getScheduleTree(); + PerformParallelTest = + PerformParallelTest && !S->containsExtensionNode(ScheduleTree); + isl_schedule_free(ScheduleTree); + // Skip AST and code generation if there was no benefit achieved. if (!benefitsFromPolly(S, PerformParallelTest)) return; |