diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2016-12-27 10:16:46 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2016-12-27 10:16:46 +0000 |
commit | 67ee5f159ebcbfb14f767389bd320cb615705729 (patch) | |
tree | 5fb222d49419654984afbe56b62518be918048e4 /lib/Passes | |
parent | 79df598ffbfa7943b9ea507f8c25179a99b1c599 (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.cpp | 12 |
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. |