From: Chandler Carruth Date: Fri, 26 May 2017 01:24:11 +0000 (+0000) Subject: [PM] Enable the new simple loop unswitch pass in the new pass manager X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=88001205b7b7f3b5997911eea7104a36259f4243;p=llvm [PM] Enable the new simple loop unswitch pass in the new pass manager (where it is the only realistic option). This passes the LLVM test suite for me, but I'm clearly still hammering on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303952 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp index 4845bd2957b..abc53e97aa7 100644 --- a/lib/Passes/PassBuilder.cpp +++ b/lib/Passes/PassBuilder.cpp @@ -341,10 +341,7 @@ PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level, // Rotate Loop - disable header duplication at -Oz LPM1.addPass(LoopRotatePass(Level != Oz)); LPM1.addPass(LICMPass()); -#if 0 - // The LoopUnswitch pass isn't yet ported to the new pass manager. - LPM1.addPass(LoopUnswitchPass(/* OptimizeForSize */ Level != O3)); -#endif + LPM1.addPass(SimpleLoopUnswitchPass()); LPM2.addPass(IndVarSimplifyPass()); LPM2.addPass(LoopIdiomRecognizePass()); LPM2.addPass(LoopDeletionPass()); diff --git a/test/Other/new-pm-defaults.ll b/test/Other/new-pm-defaults.ll index f712dc7b63c..0ec356392a2 100644 --- a/test/Other/new-pm-defaults.ll +++ b/test/Other/new-pm-defaults.ll @@ -95,6 +95,7 @@ ; CHECK-O-NEXT: Running pass: LoopRotatePass ; CHECK-O-NEXT: Running pass: LICM ; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy +; CHECK-O-NEXT: Running pass: SimpleLoopUnswitchPass ; CHECK-O-NEXT: Finished Loop pass manager run. ; CHECK-O-NEXT: Running pass: SimplifyCFGPass ; CHECK-O-NEXT: Running pass: InstCombinePass