summaryrefslogtreecommitdiffstats
path: root/polly/lib
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2016-03-02 14:59:16 +0000
committerMichael Kruse <llvm@meinersbur.de>2016-03-02 14:59:16 +0000
commit1bf6bafb2d47867d19f5b9e666e3195b776c0bf7 (patch)
tree3dfe3893a410d0953134df7df72141da41ab7e1d /polly/lib
parent649fdb126a611a4776b79d235db879c1f9db808b (diff)
downloadbcm5719-llvm-1bf6bafb2d47867d19f5b9e666e3195b776c0bf7.tar.gz
bcm5719-llvm-1bf6bafb2d47867d19f5b9e666e3195b776c0bf7.zip
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. llvm-svn: 262488
Diffstat (limited to 'polly/lib')
-rw-r--r--polly/lib/Support/RegisterPasses.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/polly/lib/Support/RegisterPasses.cpp b/polly/lib/Support/RegisterPasses.cpp
index e2f33490162..2a59fd9f6cf 100644
--- a/polly/lib/Support/RegisterPasses.cpp
+++ b/polly/lib/Support/RegisterPasses.cpp
@@ -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::PassManagerBase &PM) {
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());
}
OpenPOWER on IntegriCloud