[Mlir-commits] [mlir] [mlir] Add `requiresAmendingMutatedDefs` and `amendMutatedDefs` to `PromotableOpInterface` (PR #86792)
Théo Degioanni
llvmlistbot at llvm.org
Thu Mar 28 12:39:22 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), [{}],
----------------
Moxinilian wrote:
In a perfect world I'd prefer those methods to be called something like `visitReplacingValues`, because "amending mutated definitions" feels very vague in context.
https://github.com/llvm/llvm-project/pull/86792
More information about the Mlir-commits
mailing list