[Mlir-commits] [mlir] [mlir][inliner] Add doClone and canHandleMultipleBlocks callbacks to Inliner (PR #131226)

Mehdi Amini llvmlistbot at llvm.org
Fri Apr 4 02:38:30 PDT 2025


================
@@ -27,6 +27,10 @@ class InlinerConfig {
 public:
   using DefaultPipelineTy = std::function<void(OpPassManager &)>;
   using OpPipelinesTy = llvm::StringMap<OpPassManager>;
+  using CloneCallbackTy =
+      std::function<void(OpBuilder &builder, Region *src, Block *inlineBlock,
+                         Block *postInsertBlock, IRMapping &mapper,
+                         bool shouldCloneInlinedRegion)>;
----------------
joker-eph wrote:

```suggestion
  using CloneCallbackSigTy =
      void(*)(OpBuilder &builder, Region *src, Block *inlineBlock,
                         Block *postInsertBlock, IRMapping &mapper,
                         bool shouldCloneInlinedRegion);
  using CloneCallbackTy =
      std::function<CloneCallbackSigTy>;
```

Splitting it like this will allow to easily declare the inlineRegion function as taking a `function_ref< InlinerConfig::CloneCallbackSigTy>`.

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


More information about the Mlir-commits mailing list