[llvm] [PassBuilder] Add callback invoking to PassBuilder string API (PR #157153)
Min-Yih Hsu via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 14 11:53:45 PDT 2025
================
@@ -133,6 +133,42 @@ PB.registerPipelineParsingCallback([=](StringRef Name, LoopPassManager &PM,
return false;
});
+PB.registerPipelineParsingCallback([=](StringRef Name, ModulePassManager &PM,
+ ArrayRef<PassBuilder::PipelineElement>) {
+#define MODULE_CALLBACK(NAME, INVOKE) if (Name == NAME) { PB.INVOKE(PM, OptimizationLevel::O2); return true; }
+#include GET_PASS_REGISTRY
+#undef MODULE_CALLBACK
+#define MODULE_LTO_CALLBACK(NAME, INVOKE) if (Name == NAME) { PB.INVOKE(PM, OptimizationLevel::O2, ThinOrFullLTOPhase::None); return true; }
----------------
mshockwave wrote:
is there any particular reason you lock it on `O2`? could we parameterize it with something like "VectorizerStartCallbacks<O3>"?
https://github.com/llvm/llvm-project/pull/157153
More information about the llvm-commits
mailing list