[llvm-branch-commits] [mlir] [mlir][Transform] `apply_conversion_patterns`: Update handles (PR #83950)
Oleksandr Alex Zinenko via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Mar 5 07:32:25 PST 2024
================
@@ -190,19 +190,29 @@ def ApplyConversionPatternsOp : TransformDialectOp<"apply_conversion_patterns",
The `legal_ops`, `illegal_ops`, `legal_dialects`, `illegal_dialects`
attributes specify the conversion target.
- This transform consumes the `target` handle and modifies the payload. It
- does not produce any handles.
+ This transform modifies the payload. By default, it consumes the `target`
+ handle. It does not produce any handles.
+
+ If the `preserve_handles` attribute is set, this transform does not consume
+ the `target` handle and instead updates handles based on notifications from
+ a tracking listener that is attached to the dialect conversion, similar to
+ `transform.apply_patterns`. Only replacements via `RewriterBase::replaceOp`
+ or `replaceOpWithNewOp` are considered "payload op replacements". In
+ contrast to `transform.apply_patterns`, we allow replacement ops even if the
----------------
ftynse wrote:
Nit: could you provide the rationale as to why op name change is allowed here? Presumably because conversion is expected to intentionally change names to another dialect.
https://github.com/llvm/llvm-project/pull/83950
More information about the llvm-branch-commits
mailing list