[Mlir-commits] [mlir] [MLIR][SROA] Reuse allocators to avoid rewalking the IR (PR #91971)

Théo Degioanni llvmlistbot at llvm.org
Mon May 13 13:56:40 PDT 2024


================
@@ -298,14 +298,20 @@ def DestructurableAllocationOpInterface
       "destructure",
       (ins "const ::mlir::DestructurableMemorySlot &":$slot,
            "const ::llvm::SmallPtrSetImpl<::mlir::Attribute> &":$usedIndices,
-           "::mlir::OpBuilder &":$builder)
+           "::mlir::OpBuilder &":$builder,
+           "::mlir::SmallVectorImpl<::mlir::DestructurableAllocationOpInterface> &":
+             $newAllocators)
     >,
     InterfaceMethod<[{
         Hook triggered once the destructuring of a slot is complete, meaning the
         original slot is no longer being refered to and could be deleted.
         This will only be called for slots declared by this operation.
+
+        Must return a new destructurable allocation op if this operation
+        produced multiple destructurable slots, nullopt otherwise.
----------------
Moxinilian wrote:

```suggestion
        Must return a new destructurable allocation op if this hook creates
        new destructurable ops, nullopt otherwise.
```
I assume this is the intended meaning, right? You're not talking about the new allocas of fields, I assume.

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


More information about the Mlir-commits mailing list