diff options
| author | Michael Kruse <llvm@meinersbur.de> | 2016-03-02 14:59:16 +0000 |
|---|---|---|
| committer | Michael Kruse <llvm@meinersbur.de> | 2016-03-02 14:59:16 +0000 |
| commit | 1bf6bafb2d47867d19f5b9e666e3195b776c0bf7 (patch) | |
| tree | 3dfe3893a410d0953134df7df72141da41ab7e1d /polly/lib | |
| parent | 649fdb126a611a4776b79d235db879c1f9db808b (diff) | |
| download | bcm5719-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.cpp | 6 |
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()); } |

