[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:16 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;
----------------
mshockwave wrote:

I think you can use `llvm::StringSwitch` here

https://github.com/llvm/llvm-project/pull/157153


More information about the llvm-commits mailing list