summaryrefslogtreecommitdiffstats
path: root/lib/Passes
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2016-12-27 10:16:46 +0000
committerChandler Carruth <chandlerc@gmail.com>2016-12-27 10:16:46 +0000
commit67ee5f159ebcbfb14f767389bd320cb615705729 (patch)
tree5fb222d49419654984afbe56b62518be918048e4 /lib/Passes
parent79df598ffbfa7943b9ea507f8c25179a99b1c599 (diff)
[PM] Disable more of the loop passes -- LCSSA and LoopSimplify are also
not really wired into the loop pass manager in a way that will let us productively use these passes yet. This lets the new PM get farther in basic testing which is useful for establishing a good baseline of "doesn't explode". There are still plenty of crashers in basic testing though, this just gets rid of some noise that is well understood and not representing a specific or narrow bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290601 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Passes')
-rw-r--r--lib/Passes/PassBuilder.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp
index 221ee15a78e2..61499ab7d771 100644
--- a/lib/Passes/PassBuilder.cpp
+++ b/lib/Passes/PassBuilder.cpp
@@ -310,12 +310,13 @@ PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level,
// the other we have is `LoopInstSimplify`.
LoopPassManager LPM1(DebugLogging), LPM2(DebugLogging);
+ // FIXME: Enable these when the loop pass manager can support enforcing loop
+ // simplified and LCSSA form as well as updating the loop nest after
+ // transformations and we finsih porting the loop passes.
+#if 0
// Rotate Loop - disable header duplication at -Oz
LPM1.addPass(LoopRotatePass(Level != Oz));
LPM1.addPass(LICMPass());
- // FIXME: Enable these when the loop pass manager can support updating the
- // loop nest after transformations and we finsih porting the loop passes.
-#if 0
LPM1.addPass(LoopUnswitchPass(/* OptimizeForSize */ Level != O3));
LPM2.addPass(IndVarSimplifyPass());
LPM2.addPass(LoopIdiomPass());
@@ -356,7 +357,12 @@ PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level,
FPM.addPass(JumpThreadingPass());
FPM.addPass(CorrelatedValuePropagationPass());
FPM.addPass(DSEPass());
+ // FIXME: Enable this when the loop pass manager can support enforcing loop
+ // simplified and LCSSA form as well as updating the loop nest after
+ // transformations and we finsih porting the loop passes.
+#if 0
FPM.addPass(createFunctionToLoopPassAdaptor(LICMPass()));
+#endif
// Finally, do an expensive DCE pass to catch all the dead code exposed by
// the simplifications and basic cleanup after all the simplifications.