[MLIR][Transform] expose transform.debug extension in Python (#145550)

Removes the Debug... prefix on the ops in tablegen, in line with pretty
much all other Transform-dialect extension ops. This means that the ops
in Python look like
`debug.EmitParamAsRemarkOp`/`debug.emit_param_as_remark` instead of
`debug.DebugEmitParamAsRemarkOp`/`debug.debug_emit_param_as_remark`.
This commit is contained in:
Rolf Morel
2025-06-25 17:39:01 +02:00
committed by GitHub
parent 46ee7f1908
commit c08502defe
6 changed files with 163 additions and 8 deletions

View File

@@ -0,0 +1,45 @@
# RUN: %PYTHON %s | FileCheck %s
from mlir.ir import *
from mlir.dialects import transform
from mlir.dialects.transform import debug
def run(f):
print("\nTEST:", f.__name__)
with Context(), Location.unknown():
module = Module.create()
with InsertionPoint(module.body):
sequence = transform.SequenceOp(
transform.FailurePropagationMode.Propagate,
[],
transform.AnyOpType.get(),
)
with InsertionPoint(sequence.body):
f(sequence.bodyTarget)
transform.YieldOp()
print(module)
return f
@run
def testDebugEmitParamAsRemark(target):
i0 = IntegerAttr.get(IntegerType.get_signless(32), 0)
i0_param = transform.ParamConstantOp(transform.AnyParamType.get(), i0)
debug.emit_param_as_remark(i0_param)
debug.emit_param_as_remark(i0_param, anchor=target, message="some text")
# CHECK-LABEL: TEST: testDebugEmitParamAsRemark
# CHECK: ^{{.*}}(%[[ARG0:.+]]: !transform.any_op):
# CHECK: %[[PARAM:.*]] = transform.param.constant
# CHECK: transform.debug.emit_param_as_remark %[[PARAM]]
# CHECK: transform.debug.emit_param_as_remark %[[PARAM]]
# CHECK-SAME: "some text"
# CHECK-SAME: at %[[ARG0]]
@run
def testDebugEmitRemarkAtOp(target):
debug.emit_remark_at(target, "some text")
# CHECK-LABEL: TEST: testDebugEmitRemarkAtOp
# CHECK: ^{{.*}}(%[[ARG0:.+]]: !transform.any_op):
# CHECK: transform.debug.emit_remark_at %[[ARG0]], "some text"