From dcf46612cc9fd87b8dac665c301a6f4a1532f18a Mon Sep 17 00:00:00 2001 From: Michael Kuperstein Date: Thu, 19 Jan 2017 02:21:54 +0000 Subject: [PATCH] [PM] Add LoopVectorize to the default module pipeline LV no longer "requires" LCSSA and LoopSimplify, and instead forms them internally as required. So, there's nothing preventing it from being enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292464 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Passes/PassBuilder.cpp | 4 ---- test/Other/new-pass-manager.ll | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp index 2994a07b1cc..00f8a9dacbc 100644 --- a/lib/Passes/PassBuilder.cpp +++ b/lib/Passes/PassBuilder.cpp @@ -496,11 +496,7 @@ PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level, // rather than on each loop in an inside-out manner, and so they are actually // function passes. OptimizePM.addPass(LoopDistributePass()); -#if 0 - // FIXME: LoopVectorize relies on "requiring" LCSSA which isn't supported in - // the new PM. OptimizePM.addPass(LoopVectorizePass()); -#endif // FIXME: Need to port Loop Load Elimination and add it here. OptimizePM.addPass(InstCombinePass()); diff --git a/test/Other/new-pass-manager.ll b/test/Other/new-pass-manager.ll index 069d8e214c2..936da1daff2 100644 --- a/test/Other/new-pass-manager.ll +++ b/test/Other/new-pass-manager.ll @@ -456,6 +456,7 @@ ; CHECK-O: Starting llvm::Function pass manager run. ; CHECK-O: Running pass: Float2IntPass ; CHECK-O: Running pass: LoopDistributePass +; CHECK-O: Running pass: LoopVectorizePass ; CHECK-O: Running pass: InstCombinePass ; CHECK-O: Running pass: SLPVectorizerPass ; CHECK-O: Running pass: SimplifyCFGPass -- 2.40.0