[polly] r262488 - Fix: Add pass manager barrier.

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 2 06:59:16 PST 2016


Author: meinersbur
Date: Wed Mar  2 08:59:16 2016
New Revision: 262488

URL: http://llvm.org/viewvc/llvm-project?rev=262488&view=rev
Log:
Fix: Add pass manager barrier.

The LNT test suite with -polly-process-unprofitable
-polly-position=before-vectorizer currenty fails 59 tests. With this
barrier added, only 16 keep failing. This is probably because Polly's
code generation currently does not correctly preserve all analyses it
promised to preserve. Temporarily add this barrier until further
investigation.

Modified:
    polly/trunk/lib/Support/RegisterPasses.cpp

Modified: polly/trunk/lib/Support/RegisterPasses.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Support/RegisterPasses.cpp?rev=262488&r1=262487&r2=262488&view=diff
==============================================================================
--- polly/trunk/lib/Support/RegisterPasses.cpp (original)
+++ polly/trunk/lib/Support/RegisterPasses.cpp Wed Mar  2 08:59:16 2016
@@ -30,6 +30,7 @@
 #include "polly/ScopInfo.h"
 #include "llvm/Analysis/CFGPrinter.h"
 #include "llvm/IR/LegacyPassManager.h"
+#include "llvm/Transforms/IPO.h"
 #include "llvm/Transforms/IPO/PassManagerBuilder.h"
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Transforms/Vectorize.h"
@@ -226,6 +227,11 @@ void registerPollyPasses(llvm::legacy::P
     break;
   }
 
+  // FIXME: This dummy ModulePass keeps some programs from miscompiling,
+  // probably some not correctly preserved analyses. It acts as a barrier to
+  // force all analysis results to be recomputed.
+  PM.add(createBarrierNoopPass());
+
   if (CFGPrinter)
     PM.add(llvm::createCFGPrinterPass());
 }




More information about the llvm-commits mailing list