From: Arthur Eubanks Date: Wed, 30 Dec 2020 03:54:32 +0000 (-0800) Subject: [NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline X-Git-Tag: llvmorg-13-init~1790 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b2dafd44ca7a975e3d58d68f3a24e36b2ceb2e1e;p=platform%2Fupstream%2Fllvm.git [NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline In https://reviews.llvm.org/D88138 this was incorrectly added with registerOptimizerLastEPCallback(), when it should be registerLoopOptimizerEndEPCallback(), matching the legacy PM's EP_LoopOptimizerEnd. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D93929 --- diff --git a/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp b/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp index 23c047e..ba0f45f 100644 --- a/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp +++ b/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp @@ -287,13 +287,9 @@ void HexagonTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB, [=](LoopPassManager &LPM, PassBuilder::OptimizationLevel Level) { LPM.addPass(HexagonLoopIdiomRecognitionPass()); }); - PB.registerOptimizerLastEPCallback( - [=](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) { - LoopPassManager LPM(DebugPassManager); - FunctionPassManager FPM(DebugPassManager); + PB.registerLoopOptimizerEndEPCallback( + [=](LoopPassManager &LPM, PassBuilder::OptimizationLevel Level) { LPM.addPass(HexagonVectorLoopCarriedReusePass()); - FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM))); - MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); }); }