[PATCH] D107025: Take OptimizationLevel class out of Pass Builder
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG7a797b290299: Take OptimizationLevel class out of Pass Builder (authored by tarinduj, committed by mtrofin). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107025/new/ https://reviews.llvm.org/D107025 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/examples/Bye/Bye.cpp llvm/include/llvm/Passes/OptimizationLevel.h llvm/include/llvm/Passes/PassBuilder.h llvm/lib/LTO/LTOBackend.cpp llvm/lib/LTO/ThinLTOCodeGenerator.cpp llvm/lib/Passes/PassBuilder.cpp llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp llvm/lib/Target/BPF/BPFTargetMachine.cpp llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp llvm/tools/opt/NewPMDriver.cpp polly/include/polly/Canonicalization.h polly/lib/Support/RegisterPasses.cpp polly/lib/Transform/Canonicalization.cpp Index: polly/lib/Transform/Canonicalization.cpp === --- polly/lib/Transform/Canonicalization.cpp +++ polly/lib/Transform/Canonicalization.cpp @@ -64,7 +64,7 @@ /// Adapted from llvm::PassBuilder::buildInlinerPipeline static ModuleInlinerWrapperPass -buildInlinePasses(llvm::PassBuilder::OptimizationLevel Level) { +buildInlinePasses(llvm::OptimizationLevel Level) { InlineParams IP = getInlineParams(200); ModuleInlinerWrapperPass MIWP(IP); @@ -92,8 +92,9 @@ return MIWP; } -FunctionPassManager polly::buildCanonicalicationPassesForNPM( -llvm::ModulePassManager , llvm::PassBuilder::OptimizationLevel Level) { +FunctionPassManager +polly::buildCanonicalicationPassesForNPM(llvm::ModulePassManager , + llvm::OptimizationLevel Level) { FunctionPassManager FPM; bool UseMemSSA = true; @@ -107,7 +108,7 @@ FPM.addPass(ReassociatePass()); { LoopPassManager LPM; -LPM.addPass(LoopRotatePass(Level != PassBuilder::OptimizationLevel::Oz)); +LPM.addPass(LoopRotatePass(Level != OptimizationLevel::Oz)); FPM.addPass(createFunctionToLoopPassAdaptor( std::move(LPM), /*UseMemorySSA=*/false, /*UseBlockFrequencyInfo=*/false)); Index: polly/lib/Support/RegisterPasses.cpp === --- polly/lib/Support/RegisterPasses.cpp +++ polly/lib/Support/RegisterPasses.cpp @@ -474,7 +474,7 @@ /// the analysis passes are added, skipping Polly itself. /// The IR may still be modified. static void buildCommonPollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level, + OptimizationLevel Level, bool EnableForOpt) { PassBuilder PB; ScopPassManager SPM; @@ -574,7 +574,7 @@ } static void buildEarlyPollyPipeline(ModulePassManager , -PassBuilder::OptimizationLevel Level) { +OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) @@ -603,7 +603,7 @@ } static void buildLatePollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level) { + OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) Index: polly/include/polly/Canonicalization.h === --- polly/include/polly/Canonicalization.h +++ polly/include/polly/Canonicalization.h @@ -30,7 +30,7 @@ llvm::FunctionPassManager buildCanonicalicationPassesForNPM(llvm::ModulePassManager , - llvm::PassBuilder::OptimizationLevel Level); + llvm::OptimizationLevel Level); } // namespace polly Index: llvm/tools/opt/NewPMDriver.cpp === --- llvm/tools/opt/NewPMDriver.cpp +++ llvm/tools/opt/NewPMDriver.cpp @@ -173,58 +173,58 @@ static void registerEPCallbacks(PassBuilder ) { if (tryParsePipelineText(PB, PeepholeEPPipeline)) PB.registerPeepholeEPCallback( -[](FunctionPassManager , PassBuilder::OptimizationLevel Level) { +[](FunctionPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse PeepholeEP pipeline: "); Err(PB.parsePassPipeline(PM, PeepholeEPPipeline)); }); if (tryParsePipelineText(PB, LateLoopOptimizationsEPPipeline)) PB.registerLateLoopOptimizationsEPCallback( -[](LoopPassManager ,
[PATCH] D107025: Take OptimizationLevel class out of Pass Builder
tarinduj updated this revision to Diff 362962. tarinduj added a comment. added newline at the end to OptimizationLevel.h CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107025/new/ https://reviews.llvm.org/D107025 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/examples/Bye/Bye.cpp llvm/include/llvm/Passes/OptimizationLevel.h llvm/include/llvm/Passes/PassBuilder.h llvm/lib/LTO/LTOBackend.cpp llvm/lib/LTO/ThinLTOCodeGenerator.cpp llvm/lib/Passes/PassBuilder.cpp llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp llvm/lib/Target/BPF/BPFTargetMachine.cpp llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp llvm/tools/opt/NewPMDriver.cpp polly/include/polly/Canonicalization.h polly/lib/Support/RegisterPasses.cpp polly/lib/Transform/Canonicalization.cpp Index: polly/lib/Transform/Canonicalization.cpp === --- polly/lib/Transform/Canonicalization.cpp +++ polly/lib/Transform/Canonicalization.cpp @@ -64,7 +64,7 @@ /// Adapted from llvm::PassBuilder::buildInlinerPipeline static ModuleInlinerWrapperPass -buildInlinePasses(llvm::PassBuilder::OptimizationLevel Level) { +buildInlinePasses(llvm::OptimizationLevel Level) { InlineParams IP = getInlineParams(200); ModuleInlinerWrapperPass MIWP(IP); @@ -92,8 +92,9 @@ return MIWP; } -FunctionPassManager polly::buildCanonicalicationPassesForNPM( -llvm::ModulePassManager , llvm::PassBuilder::OptimizationLevel Level) { +FunctionPassManager +polly::buildCanonicalicationPassesForNPM(llvm::ModulePassManager , + llvm::OptimizationLevel Level) { FunctionPassManager FPM; bool UseMemSSA = true; @@ -107,7 +108,7 @@ FPM.addPass(ReassociatePass()); { LoopPassManager LPM; -LPM.addPass(LoopRotatePass(Level != PassBuilder::OptimizationLevel::Oz)); +LPM.addPass(LoopRotatePass(Level != OptimizationLevel::Oz)); FPM.addPass(createFunctionToLoopPassAdaptor( std::move(LPM), /*UseMemorySSA=*/false, /*UseBlockFrequencyInfo=*/false)); Index: polly/lib/Support/RegisterPasses.cpp === --- polly/lib/Support/RegisterPasses.cpp +++ polly/lib/Support/RegisterPasses.cpp @@ -474,7 +474,7 @@ /// the analysis passes are added, skipping Polly itself. /// The IR may still be modified. static void buildCommonPollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level, + OptimizationLevel Level, bool EnableForOpt) { PassBuilder PB; ScopPassManager SPM; @@ -574,7 +574,7 @@ } static void buildEarlyPollyPipeline(ModulePassManager , -PassBuilder::OptimizationLevel Level) { +OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) @@ -603,7 +603,7 @@ } static void buildLatePollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level) { + OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) Index: polly/include/polly/Canonicalization.h === --- polly/include/polly/Canonicalization.h +++ polly/include/polly/Canonicalization.h @@ -30,7 +30,7 @@ llvm::FunctionPassManager buildCanonicalicationPassesForNPM(llvm::ModulePassManager , - llvm::PassBuilder::OptimizationLevel Level); + llvm::OptimizationLevel Level); } // namespace polly Index: llvm/tools/opt/NewPMDriver.cpp === --- llvm/tools/opt/NewPMDriver.cpp +++ llvm/tools/opt/NewPMDriver.cpp @@ -173,58 +173,58 @@ static void registerEPCallbacks(PassBuilder ) { if (tryParsePipelineText(PB, PeepholeEPPipeline)) PB.registerPeepholeEPCallback( -[](FunctionPassManager , PassBuilder::OptimizationLevel Level) { +[](FunctionPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse PeepholeEP pipeline: "); Err(PB.parsePassPipeline(PM, PeepholeEPPipeline)); }); if (tryParsePipelineText(PB, LateLoopOptimizationsEPPipeline)) PB.registerLateLoopOptimizationsEPCallback( -[](LoopPassManager , PassBuilder::OptimizationLevel Level) { +[](LoopPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse LateLoopOptimizationsEP pipeline: ");
[PATCH] D107025: Take OptimizationLevel class out of Pass Builder
mtrofin accepted this revision. mtrofin added inline comments. This revision is now accepted and ready to land. Comment at: llvm/include/llvm/Passes/OptimizationLevel.h:128 +#endif \ No newline at end of file add a newline here (it helps diff tools) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107025/new/ https://reviews.llvm.org/D107025 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D107025: Take OptimizationLevel class out of Pass Builder
tarinduj updated this revision to Diff 362692. tarinduj added a comment. clang-format CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107025/new/ https://reviews.llvm.org/D107025 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/examples/Bye/Bye.cpp llvm/include/llvm/Passes/OptimizationLevel.h llvm/include/llvm/Passes/PassBuilder.h llvm/lib/LTO/LTOBackend.cpp llvm/lib/LTO/ThinLTOCodeGenerator.cpp llvm/lib/Passes/PassBuilder.cpp llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp llvm/lib/Target/BPF/BPFTargetMachine.cpp llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp llvm/tools/opt/NewPMDriver.cpp polly/include/polly/Canonicalization.h polly/lib/Support/RegisterPasses.cpp polly/lib/Transform/Canonicalization.cpp Index: polly/lib/Transform/Canonicalization.cpp === --- polly/lib/Transform/Canonicalization.cpp +++ polly/lib/Transform/Canonicalization.cpp @@ -64,7 +64,7 @@ /// Adapted from llvm::PassBuilder::buildInlinerPipeline static ModuleInlinerWrapperPass -buildInlinePasses(llvm::PassBuilder::OptimizationLevel Level) { +buildInlinePasses(llvm::OptimizationLevel Level) { InlineParams IP = getInlineParams(200); ModuleInlinerWrapperPass MIWP(IP); @@ -92,8 +92,9 @@ return MIWP; } -FunctionPassManager polly::buildCanonicalicationPassesForNPM( -llvm::ModulePassManager , llvm::PassBuilder::OptimizationLevel Level) { +FunctionPassManager +polly::buildCanonicalicationPassesForNPM(llvm::ModulePassManager , + llvm::OptimizationLevel Level) { FunctionPassManager FPM; bool UseMemSSA = true; @@ -107,7 +108,7 @@ FPM.addPass(ReassociatePass()); { LoopPassManager LPM; -LPM.addPass(LoopRotatePass(Level != PassBuilder::OptimizationLevel::Oz)); +LPM.addPass(LoopRotatePass(Level != OptimizationLevel::Oz)); FPM.addPass(createFunctionToLoopPassAdaptor( std::move(LPM), /*UseMemorySSA=*/false, /*UseBlockFrequencyInfo=*/false)); Index: polly/lib/Support/RegisterPasses.cpp === --- polly/lib/Support/RegisterPasses.cpp +++ polly/lib/Support/RegisterPasses.cpp @@ -474,7 +474,7 @@ /// the analysis passes are added, skipping Polly itself. /// The IR may still be modified. static void buildCommonPollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level, + OptimizationLevel Level, bool EnableForOpt) { PassBuilder PB; ScopPassManager SPM; @@ -574,7 +574,7 @@ } static void buildEarlyPollyPipeline(ModulePassManager , -PassBuilder::OptimizationLevel Level) { +OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) @@ -603,7 +603,7 @@ } static void buildLatePollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level) { + OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) Index: polly/include/polly/Canonicalization.h === --- polly/include/polly/Canonicalization.h +++ polly/include/polly/Canonicalization.h @@ -30,7 +30,7 @@ llvm::FunctionPassManager buildCanonicalicationPassesForNPM(llvm::ModulePassManager , - llvm::PassBuilder::OptimizationLevel Level); + llvm::OptimizationLevel Level); } // namespace polly Index: llvm/tools/opt/NewPMDriver.cpp === --- llvm/tools/opt/NewPMDriver.cpp +++ llvm/tools/opt/NewPMDriver.cpp @@ -173,58 +173,58 @@ static void registerEPCallbacks(PassBuilder ) { if (tryParsePipelineText(PB, PeepholeEPPipeline)) PB.registerPeepholeEPCallback( -[](FunctionPassManager , PassBuilder::OptimizationLevel Level) { +[](FunctionPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse PeepholeEP pipeline: "); Err(PB.parsePassPipeline(PM, PeepholeEPPipeline)); }); if (tryParsePipelineText(PB, LateLoopOptimizationsEPPipeline)) PB.registerLateLoopOptimizationsEPCallback( -[](LoopPassManager , PassBuilder::OptimizationLevel Level) { +[](LoopPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse LateLoopOptimizationsEP pipeline: ");
[PATCH] D107025: Take OptimizationLevel class out of Pass Builder
tarinduj updated this revision to Diff 362675. tarinduj added a comment. added namespace and header guards Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107025/new/ https://reviews.llvm.org/D107025 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/examples/Bye/Bye.cpp llvm/include/llvm/Passes/OptimizationLevel.h llvm/include/llvm/Passes/PassBuilder.h llvm/lib/LTO/LTOBackend.cpp llvm/lib/LTO/ThinLTOCodeGenerator.cpp llvm/lib/Passes/PassBuilder.cpp llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp llvm/lib/Target/BPF/BPFTargetMachine.cpp llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp llvm/tools/opt/NewPMDriver.cpp polly/include/polly/Canonicalization.h polly/lib/Support/RegisterPasses.cpp polly/lib/Transform/Canonicalization.cpp Index: polly/lib/Transform/Canonicalization.cpp === --- polly/lib/Transform/Canonicalization.cpp +++ polly/lib/Transform/Canonicalization.cpp @@ -64,7 +64,7 @@ /// Adapted from llvm::PassBuilder::buildInlinerPipeline static ModuleInlinerWrapperPass -buildInlinePasses(llvm::PassBuilder::OptimizationLevel Level) { +buildInlinePasses(llvm::OptimizationLevel Level) { InlineParams IP = getInlineParams(200); ModuleInlinerWrapperPass MIWP(IP); @@ -93,7 +93,7 @@ } FunctionPassManager polly::buildCanonicalicationPassesForNPM( -llvm::ModulePassManager , llvm::PassBuilder::OptimizationLevel Level) { +llvm::ModulePassManager , llvm::OptimizationLevel Level) { FunctionPassManager FPM; bool UseMemSSA = true; @@ -107,7 +107,7 @@ FPM.addPass(ReassociatePass()); { LoopPassManager LPM; -LPM.addPass(LoopRotatePass(Level != PassBuilder::OptimizationLevel::Oz)); +LPM.addPass(LoopRotatePass(Level != OptimizationLevel::Oz)); FPM.addPass(createFunctionToLoopPassAdaptor( std::move(LPM), /*UseMemorySSA=*/false, /*UseBlockFrequencyInfo=*/false)); Index: polly/lib/Support/RegisterPasses.cpp === --- polly/lib/Support/RegisterPasses.cpp +++ polly/lib/Support/RegisterPasses.cpp @@ -474,7 +474,7 @@ /// the analysis passes are added, skipping Polly itself. /// The IR may still be modified. static void buildCommonPollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level, + OptimizationLevel Level, bool EnableForOpt) { PassBuilder PB; ScopPassManager SPM; @@ -574,7 +574,7 @@ } static void buildEarlyPollyPipeline(ModulePassManager , -PassBuilder::OptimizationLevel Level) { +OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) @@ -603,7 +603,7 @@ } static void buildLatePollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level) { + OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) Index: polly/include/polly/Canonicalization.h === --- polly/include/polly/Canonicalization.h +++ polly/include/polly/Canonicalization.h @@ -30,7 +30,7 @@ llvm::FunctionPassManager buildCanonicalicationPassesForNPM(llvm::ModulePassManager , - llvm::PassBuilder::OptimizationLevel Level); + llvm::OptimizationLevel Level); } // namespace polly Index: llvm/tools/opt/NewPMDriver.cpp === --- llvm/tools/opt/NewPMDriver.cpp +++ llvm/tools/opt/NewPMDriver.cpp @@ -173,58 +173,58 @@ static void registerEPCallbacks(PassBuilder ) { if (tryParsePipelineText(PB, PeepholeEPPipeline)) PB.registerPeepholeEPCallback( -[](FunctionPassManager , PassBuilder::OptimizationLevel Level) { +[](FunctionPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse PeepholeEP pipeline: "); Err(PB.parsePassPipeline(PM, PeepholeEPPipeline)); }); if (tryParsePipelineText(PB, LateLoopOptimizationsEPPipeline)) PB.registerLateLoopOptimizationsEPCallback( -[](LoopPassManager , PassBuilder::OptimizationLevel Level) { +[](LoopPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse LateLoopOptimizationsEP pipeline: "); Err(PB.parsePassPipeline(PM, LateLoopOptimizationsEPPipeline)); });
[PATCH] D107025: Take OptimizationLevel class out of Pass Builder
mtrofin added inline comments. Comment at: llvm/include/llvm/Passes/OptimizationLevel.h:14 +//===--===// + +class OptimizationLevel final { this should be in the llvm namespace Comment at: llvm/include/llvm/Passes/OptimizationLevel.h:15 + +class OptimizationLevel final { + unsigned SpeedLevel = 2; Make sure this has a header guard - i.e. a #ifndef LLVM_PASSES_OPTIMIZATIONLEVEL_H #define LLVM_PASSES_OPTIMIZATIONLEVEL_H ... the file #endif Comment at: llvm/include/llvm/Passes/OptimizationLevel.h:21 +// Check that only valid combinations are passed. +assert(SpeedLevel <= 3 && + "Optimization level for speed should be 0, 1, 2, or 3"); you're probably missing some #include; for assert, it's Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107025/new/ https://reviews.llvm.org/D107025 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D107025: Take OptimizationLevel class out of Pass Builder
tarinduj created this revision. tarinduj added reviewers: jdoerfert, mtrofin, uenoku. tarinduj added a project: LLVM. Herald added subscribers: ormris, foad, kerbowa, steven_wu, hiraditya, nhaehnle, jvesely, arsenm, jholewinski. Herald added a reviewer: bollu. tarinduj requested review of this revision. Herald added a project: clang. Herald added subscribers: llvm-commits, cfe-commits. Pulled out the OptimizationLevel class from PassBuilder in order to be able to access it from within the PassManager and avoid include conflicts. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D107025 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/examples/Bye/Bye.cpp llvm/include/llvm/Passes/OptimizationLevel.h llvm/include/llvm/Passes/PassBuilder.h llvm/lib/LTO/LTOBackend.cpp llvm/lib/LTO/ThinLTOCodeGenerator.cpp llvm/lib/Passes/PassBuilder.cpp llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp llvm/lib/Target/BPF/BPFTargetMachine.cpp llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp llvm/tools/opt/NewPMDriver.cpp polly/include/polly/Canonicalization.h polly/lib/Support/RegisterPasses.cpp polly/lib/Transform/Canonicalization.cpp Index: polly/lib/Transform/Canonicalization.cpp === --- polly/lib/Transform/Canonicalization.cpp +++ polly/lib/Transform/Canonicalization.cpp @@ -64,7 +64,7 @@ /// Adapted from llvm::PassBuilder::buildInlinerPipeline static ModuleInlinerWrapperPass -buildInlinePasses(llvm::PassBuilder::OptimizationLevel Level) { +buildInlinePasses(llvm::OptimizationLevel Level) { InlineParams IP = getInlineParams(200); ModuleInlinerWrapperPass MIWP(IP); @@ -93,7 +93,7 @@ } FunctionPassManager polly::buildCanonicalicationPassesForNPM( -llvm::ModulePassManager , llvm::PassBuilder::OptimizationLevel Level) { +llvm::ModulePassManager , llvm::OptimizationLevel Level) { FunctionPassManager FPM; bool UseMemSSA = true; @@ -107,7 +107,7 @@ FPM.addPass(ReassociatePass()); { LoopPassManager LPM; -LPM.addPass(LoopRotatePass(Level != PassBuilder::OptimizationLevel::Oz)); +LPM.addPass(LoopRotatePass(Level != OptimizationLevel::Oz)); FPM.addPass(createFunctionToLoopPassAdaptor( std::move(LPM), /*UseMemorySSA=*/false, /*UseBlockFrequencyInfo=*/false)); Index: polly/lib/Support/RegisterPasses.cpp === --- polly/lib/Support/RegisterPasses.cpp +++ polly/lib/Support/RegisterPasses.cpp @@ -474,7 +474,7 @@ /// the analysis passes are added, skipping Polly itself. /// The IR may still be modified. static void buildCommonPollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level, + OptimizationLevel Level, bool EnableForOpt) { PassBuilder PB; ScopPassManager SPM; @@ -574,7 +574,7 @@ } static void buildEarlyPollyPipeline(ModulePassManager , -PassBuilder::OptimizationLevel Level) { +OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) @@ -603,7 +603,7 @@ } static void buildLatePollyPipeline(FunctionPassManager , - PassBuilder::OptimizationLevel Level) { + OptimizationLevel Level) { bool EnableForOpt = shouldEnablePollyForOptimization() && Level.isOptimizingForSpeed(); if (!shouldEnablePollyForDiagnostic() && !EnableForOpt) Index: polly/include/polly/Canonicalization.h === --- polly/include/polly/Canonicalization.h +++ polly/include/polly/Canonicalization.h @@ -30,7 +30,7 @@ llvm::FunctionPassManager buildCanonicalicationPassesForNPM(llvm::ModulePassManager , - llvm::PassBuilder::OptimizationLevel Level); + llvm::OptimizationLevel Level); } // namespace polly Index: llvm/tools/opt/NewPMDriver.cpp === --- llvm/tools/opt/NewPMDriver.cpp +++ llvm/tools/opt/NewPMDriver.cpp @@ -173,58 +173,58 @@ static void registerEPCallbacks(PassBuilder ) { if (tryParsePipelineText(PB, PeepholeEPPipeline)) PB.registerPeepholeEPCallback( -[](FunctionPassManager , PassBuilder::OptimizationLevel Level) { +[](FunctionPassManager , OptimizationLevel Level) { ExitOnError Err("Unable to parse PeepholeEP pipeline: "); Err(PB.parsePassPipeline(PM, PeepholeEPPipeline)); }); if (tryParsePipelineText(PB,