================ @@ -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 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits