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 | 81c8edaf5c9310316fb28bbf7a80e199729b7050 (patch) | |
tree | aef744c38cd97eddd7b42f951f32a80c477c72a8 /llvm | |
parent | 2953b42a2e29d25ef03977ecee15a92c8f4055a1 (diff) | |
download | bcm5719-llvm-81c8edaf5c9310316fb28bbf7a80e199729b7050.tar.gz bcm5719-llvm-81c8edaf5c9310316fb28bbf7a80e199729b7050.zip |
[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.
llvm-svn: 290601
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Passes/PassBuilder.cpp | 12 | ||||
-rw-r--r-- | llvm/test/Other/new-pass-manager.ll | 3 |
2 files changed, 9 insertions, 6 deletions
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index 221ee15a78e..61499ab7d77 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/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. diff --git a/llvm/test/Other/new-pass-manager.ll b/llvm/test/Other/new-pass-manager.ll index 6338dd012ce..73d245d1091 100644 --- a/llvm/test/Other/new-pass-manager.ll +++ b/llvm/test/Other/new-pass-manager.ll @@ -433,8 +433,6 @@ ; CHECK-O: Running pass: SimplifyCFGPass ; CHECK-O: Running pass: ReassociatePass ; CHECK-O: Starting llvm::Loop pass manager run. -; CHECK-O: Running pass: LoopRotatePass -; CHECK-O: Running pass: LICMPass ; CHECK-O: Finished llvm::Loop pass manager run. ; CHECK-O: Running pass: SimplifyCFGPass ; CHECK-O: Running pass: InstCombinePass @@ -447,7 +445,6 @@ ; CHECK-O: Running pass: JumpThreadingPass ; CHECK-O: Running pass: CorrelatedValuePropagationPass ; CHECK-O: Running pass: DSEPass -; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass> ; CHECK-O: Running pass: ADCEPass ; CHECK-O: Running pass: SimplifyCFGPass ; CHECK-O: Running pass: InstCombinePass |