[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