[llvm] r290601 - [PM] Disable more of the loop passes -- LCSSA and LoopSimplify are also
Chandler Carruth via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 27 02:16:46 PST 2016
Author: chandlerc
Date: Tue Dec 27 04:16:46 2016
New Revision: 290601
URL: http://llvm.org/viewvc/llvm-project?rev=290601&view=rev
Log:
[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.
Modified:
llvm/trunk/lib/Passes/PassBuilder.cpp
llvm/trunk/test/Other/new-pass-manager.ll
Modified: llvm/trunk/lib/Passes/PassBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Passes/PassBuilder.cpp?rev=290601&r1=290600&r2=290601&view=diff
==============================================================================
--- llvm/trunk/lib/Passes/PassBuilder.cpp (original)
+++ llvm/trunk/lib/Passes/PassBuilder.cpp Tue Dec 27 04:16:46 2016
@@ -310,12 +310,13 @@ PassBuilder::buildFunctionSimplification
// 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::buildFunctionSimplification
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.
Modified: llvm/trunk/test/Other/new-pass-manager.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Other/new-pass-manager.ll?rev=290601&r1=290600&r2=290601&view=diff
==============================================================================
--- llvm/trunk/test/Other/new-pass-manager.ll (original)
+++ llvm/trunk/test/Other/new-pass-manager.ll Tue Dec 27 04:16:46 2016
@@ -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
More information about the llvm-commits
mailing list