@@ -66,7 +66,25 @@ def InterpreterPass : Pass<"transform-interpreter"> {
66
66
let description = [{
67
67
This pass runs the transform dialect interpreter and applies the named
68
68
sequence transformation specified by the provided name (defaults to
69
- `TransformDialect::kTransformEntryPointSymbolName` (i.e. `__transform_main`)).
69
+ `TransformDialect::kTransformEntryPointSymbolName`,
70
+ i.e. `__transform_main`).
71
+
72
+ Additional options can be used to narrow down the pass applicability for
73
+ debugging purposes:
74
+ * `debugPayloadRootTag` makes the transform script apply to the payload
75
+ operation that has a `transform.target_tag` string attribute with the
76
+ given value, rather than to the anchor operation of the pass.
77
+ * `debugBindTrailingArgs` allows one to bind values to trailing arguments
78
+ of the transform entry point as follows:
79
+ * arguments of `TransformHandleTypeInterface` type can be bound to all
80
+ payload operations with the name provided as a simple string;
81
+ * arguments of `TransformValueHandleTypeInterface` type can be bound to
82
+ a flattened list of results of all operations with the name provided
83
+ as a string prefixed with `^`;
84
+ * arguments of `TransformParamTypeInterface` type can be bound to
85
+ integer constants provided as `;`-separated list prefixed with `#`.
86
+ * `entryPoint` specifies the name of the transform symbol to serve as the
87
+ entry point.
70
88
}];
71
89
let dependentDialects = ["::mlir::transform::TransformDialect"];
72
90
let options = [
@@ -83,7 +101,9 @@ def InterpreterPass : Pass<"transform-interpreter"> {
83
101
"false",
84
102
"Disable expensive checks in the interpreter for a faster run.">,
85
103
Option<"entryPoint", "entry-point", "std::string",
86
- /*default=*/[{TransformDialect::kTransformEntryPointSymbolName.str()}],
104
+ /*default=*/[{
105
+ TransformDialect::kTransformEntryPointSymbolName.str()
106
+ }],
87
107
"Entry point of the pass pipeline.">,
88
108
];
89
109
}
0 commit comments