summaryrefslogtreecommitdiffstats
path: root/polly/lib/Polly.cpp
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2014-03-19 17:54:23 +0000
committerTobias Grosser <tobias@grosser.es>2014-03-19 17:54:23 +0000
commit806e9fff601d8c96de190ce5567cafe9abea51ab (patch)
tree4769361de89e60eac017509e59419bf1850caa5c /polly/lib/Polly.cpp
parent3a520a9373144396b81c794bb5e26130986bd36f (diff)
downloadbcm5719-llvm-806e9fff601d8c96de190ce5567cafe9abea51ab.tar.gz
bcm5719-llvm-806e9fff601d8c96de190ce5567cafe9abea51ab.zip
Move Pass registration into polly library
This ensures that the polly passes get properly registered both, when using polly as a loadable module and when directly linking it into clang/opt/bugpoint. llvm-svn: 204255
Diffstat (limited to 'polly/lib/Polly.cpp')
-rw-r--r--polly/lib/Polly.cpp41
1 files changed, 0 insertions, 41 deletions
diff --git a/polly/lib/Polly.cpp b/polly/lib/Polly.cpp
index 5aba051bfbf..c879fd991a1 100644
--- a/polly/lib/Polly.cpp
+++ b/polly/lib/Polly.cpp
@@ -27,45 +27,4 @@ public:
}
};
static StaticInitializer InitializeEverything;
-
-static void
-registerPollyEarlyAsPossiblePasses(const llvm::PassManagerBuilder &Builder,
- llvm::PassManagerBase &PM) {
-
- if (!polly::shouldEnablePolly())
- return;
-
- polly::registerPollyPasses(PM);
-}
-
-/// @brief Register Polly to be available as an optimizer
-///
-/// We currently register Polly such that it runs as early as possible. This has
-/// several implications:
-///
-/// 1) We need to schedule more canonicalization passes
-///
-/// As nothing is run before Polly, it is necessary to run a set of preparing
-/// transformations before Polly to canonicalize the LLVM-IR and to allow
-/// Polly to detect and understand the code.
-///
-/// 2) LICM and LoopIdiom pass have not yet been run
-///
-/// Loop invariant code motion as well as the loop idiom recognition pass make
-/// it more difficult for Polly to transform code. LICM may introduce
-/// additional data dependences that are hard to eliminate and the loop idiom
-/// recognition pass may introduce calls to memset that we currently do not
-/// understand. By running Polly early enough (meaning before these passes) we
-/// avoid difficulties that may be introduced by these passes.
-///
-/// 3) We get the full -O3 optimization sequence after Polly
-///
-/// The LLVM-IR that is generated by Polly has been optimized on a high level,
-/// but it may be rather inefficient on the lower/scalar level. By scheduling
-/// Polly before all other passes, we have the full sequence of -O3
-/// optimizations behind us, such that inefficiencies on the low level can
-/// be optimized away.
-static llvm::RegisterStandardPasses
-RegisterPollyOptimizer(llvm::PassManagerBuilder::EP_EarlyAsPossible,
- registerPollyEarlyAsPossiblePasses);
} // end of anonymous namespace.
OpenPOWER on IntegriCloud