[flang-commits] [flang] [flang] Add a MLIRToLLVMPassPipeline callbacks for plugins (PR #212195)

Tarun Prabhu via flang-commits flang-commits at lists.llvm.org
Thu Sep 24 05:58:14 PDT 2026


================
@@ -171,6 +171,23 @@ void registerDefaultInlinerPass(MLIRToLLVMPassPipelineConfig &config) {
       });
 }
 
+static std::vector<std::function<void(MLIRToLLVMPassPipelineConfig &)>> &
+getPassPipelineConfigCallbacks() {
+  static std::vector<std::function<void(MLIRToLLVMPassPipelineConfig &)>>
+      callbacks;
+  return callbacks;
+}
+
+void registerPassPipelineConfigCallback(
+    std::function<void(MLIRToLLVMPassPipelineConfig &)> callback) {
+  getPassPipelineConfigCallbacks().push_back(std::move(callback));
+}
+
+void invokePassPipelineConfigCallbacks(MLIRToLLVMPassPipelineConfig &config) {
+  for (auto &callback : getPassPipelineConfigCallbacks())
----------------
tarunprabhu wrote:

Could we use a more concrete type here instead of `auto`?

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


More information about the flang-commits mailing list