[polly] r296325 - Disable the parallel code generation in case of extension nodes

Roman Gareev via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 27 00:03:11 PST 2017


Author: romangareev
Date: Mon Feb 27 02:03:11 2017
New Revision: 296325

URL: http://llvm.org/viewvc/llvm-project?rev=296325&view=rev
Log:
Disable the parallel code generation in case of extension nodes

We can not perform the dependence analysis and, consequently, the parallel
code generation in case the schedule tree contains extension nodes.

Reviewed-by: Tobias Grosser <tobias at grosser.es>

Differential Revision: https://reviews.llvm.org/D30394

Modified:
    polly/trunk/lib/CodeGen/IslAst.cpp

Modified: polly/trunk/lib/CodeGen/IslAst.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/IslAst.cpp?rev=296325&r1=296324&r2=296325&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/IslAst.cpp (original)
+++ polly/trunk/lib/CodeGen/IslAst.cpp Mon Feb 27 02:03:11 2017
@@ -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;




More information about the llvm-commits mailing list