[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