From 9173b5a99daea1768adacefd690243522b567d1a Mon Sep 17 00:00:00 2001 From: Arthur Eubanks <aeubanks@google.com> Date: Wed, 4 Nov 2020 12:57:32 -0800 Subject: [PATCH] Revert "[NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback" This reverts commit 7a83aa0520d24ee5285a9c60b97b57a1db1d65e8. Causing buildbot failures. --- llvm/include/llvm/Passes/PassBuilder.h | 4 ++-- llvm/lib/Passes/PassBuilder.cpp | 4 ++-- llvm/lib/Target/BPF/BPFTargetMachine.cpp | 13 ++++++------- llvm/tools/opt/NewPMDriver.cpp | 9 ++++----- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/llvm/include/llvm/Passes/PassBuilder.h b/llvm/include/llvm/Passes/PassBuilder.h index 31c4782eaba3..356b70d368bb 100644 --- a/llvm/include/llvm/Passes/PassBuilder.h +++ b/llvm/include/llvm/Passes/PassBuilder.h @@ -587,7 +587,7 @@ public: /// pipeline. This does not apply to 'backend' compiles (LTO and ThinLTO /// link-time pipelines). void registerPipelineStartEPCallback( - const std::function<void(ModulePassManager &, OptimizationLevel)> &C) { + const std::function<void(ModulePassManager &)> &C) { PipelineStartEPCallbacks.push_back(C); } @@ -722,7 +722,7 @@ private: SmallVector<std::function<void(ModulePassManager &, OptimizationLevel)>, 2> OptimizerLastEPCallbacks; // Module callbacks - SmallVector<std::function<void(ModulePassManager &, OptimizationLevel)>, 2> + SmallVector<std::function<void(ModulePassManager &)>, 2> PipelineStartEPCallbacks; SmallVector<std::function<void(ModuleAnalysisManager &)>, 2> ModuleAnalysisRegistrationCallbacks; diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index 68bbb01d1fda..fd16bedc70aa 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -1319,7 +1319,7 @@ PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level, // Apply module pipeline start EP callback. for (auto &C : PipelineStartEPCallbacks) - C(MPM, Level); + C(MPM); if (PGOOpt && PGOOpt->SamplePGOSupport) MPM.addPass(createModuleToFunctionPassAdaptor(AddDiscriminatorsPass())); @@ -1348,7 +1348,7 @@ PassBuilder::buildThinLTOPreLinkDefaultPipeline(OptimizationLevel Level) { // Apply module pipeline start EP callback. for (auto &C : PipelineStartEPCallbacks) - C(MPM, Level); + C(MPM); // If we are planning to perform ThinLTO later, we don't bloat the code with // unrolling/vectorization/... now. Just simplify the module as much as we diff --git a/llvm/lib/Target/BPF/BPFTargetMachine.cpp b/llvm/lib/Target/BPF/BPFTargetMachine.cpp index 25fccea256f1..7ef35105083f 100644 --- a/llvm/lib/Target/BPF/BPFTargetMachine.cpp +++ b/llvm/lib/Target/BPF/BPFTargetMachine.cpp @@ -125,13 +125,12 @@ void BPFTargetMachine::adjustPassManager(PassManagerBuilder &Builder) { void BPFTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB, bool DebugPassManager) { - PB.registerPipelineStartEPCallback( - [=](ModulePassManager &MPM, PassBuilder::OptimizationLevel) { - FunctionPassManager FPM(DebugPassManager); - FPM.addPass(BPFAbstractMemberAccessPass(this)); - FPM.addPass(BPFPreserveDITypePass()); - MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); - }); + PB.registerPipelineStartEPCallback([=](ModulePassManager &MPM) { + FunctionPassManager FPM(DebugPassManager); + FPM.addPass(BPFAbstractMemberAccessPass(this)); + FPM.addPass(BPFPreserveDITypePass()); + MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); + }); PB.registerPeepholeEPCallback([=](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) { FPM.addPass(SimplifyCFGPass(SimplifyCFGOptions().hoistCommonInsts(true))); diff --git a/llvm/tools/opt/NewPMDriver.cpp b/llvm/tools/opt/NewPMDriver.cpp index 6d134afc96c3..609f64ca76b7 100644 --- a/llvm/tools/opt/NewPMDriver.cpp +++ b/llvm/tools/opt/NewPMDriver.cpp @@ -190,11 +190,10 @@ static void registerEPCallbacks(PassBuilder &PB) { Err(PB.parsePassPipeline(PM, VectorizerStartEPPipeline)); }); if (tryParsePipelineText<ModulePassManager>(PB, PipelineStartEPPipeline)) - PB.registerPipelineStartEPCallback( - [&PB](ModulePassManager &PM, PassBuilder::OptimizationLevel) { - ExitOnError Err("Unable to parse PipelineStartEP pipeline: "); - Err(PB.parsePassPipeline(PM, PipelineStartEPPipeline)); - }); + PB.registerPipelineStartEPCallback([&PB](ModulePassManager &PM) { + ExitOnError Err("Unable to parse PipelineStartEP pipeline: "); + Err(PB.parsePassPipeline(PM, PipelineStartEPPipeline)); + }); if (tryParsePipelineText<FunctionPassManager>(PB, OptimizerLastEPPipeline)) PB.registerOptimizerLastEPCallback( [&PB](ModulePassManager &PM, PassBuilder::OptimizationLevel) {