[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