[llvm] [PassBuilder] Add callback invoking to PassBuilder string API (PR #157153)
Min-Yih Hsu via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 16 11:20:18 PDT 2025
================
@@ -528,6 +528,102 @@ PassBuilder::PassBuilder(TargetMachine *TM, PipelineTuningOptions PTO,
#include "llvm/Passes/MachinePassRegistry.def"
});
}
+ auto parseLevelParam = [](StringRef P) -> Expected<OptimizationLevel> {
+ if (P == "O0") return OptimizationLevel::O0;
+ if (P == "O1") return OptimizationLevel::O1;
+ if (P == "O2") return OptimizationLevel::O2;
+ if (P == "O3") return OptimizationLevel::O3;
+ if (P == "Os") return OptimizationLevel::Os;
+ if (P == "Oz") return OptimizationLevel::Oz;
+ return make_error<StringError>(
+ formatv("invalid optimization level '{}'", P).str(),
+ inconvertibleErrorCode());
+ };
+
+ // Module-level callbacks without LTO phase
+ this->registerPipelineParsingCallback(
----------------
mshockwave wrote:
I think `this` can be omitted here
https://github.com/llvm/llvm-project/pull/157153
More information about the llvm-commits
mailing list