[Mlir-commits] [mlir] [mlir] Add `requiresAmendingMutatedDefs` and `amendMutatedDefs` to `PromotableOpInterface` (PR #86792)

Théo Degioanni llvmlistbot at llvm.org
Thu Mar 28 12:39:20 PDT 2024


================
@@ -229,6 +229,36 @@ def PromotableOpInterface : OpInterface<"PromotableOpInterface"> {
       (ins "const ::llvm::SmallPtrSetImpl<mlir::OpOperand *> &":$blockingUses,
            "::mlir::RewriterBase &":$rewriter)
     >,
+    InterfaceMethod<[{
+        This method returns whether the promoted operation requires amending the
+        mutated definitions by a store operation.
+
+        If this method returns true, the operation will be visited using the
+        `amendMutatedDefs` method after the main mutation stage finishes
+        (i.e., after all ops have been processed with `removeBlockingUses`).
+
+        Operations should only request amending the mutated definitions if the
+        intended transformation applies to all mutated values. Furthermore,
+        mutated values must not be deleted.
+      }], "bool", "requiresAmendingMutatedDefs", (ins), [{}],
+      [{ return false; }]
+    >,
+    InterfaceMethod<[{
+        Transforms the IR to amend all the mutated definitions to the slot by a
+        store operation.
----------------
Moxinilian wrote:

```suggestion
        Transforms IR using the SSA values that replaced the memory slot.
```

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


More information about the Mlir-commits mailing list