xref: /llvm-project/mlir/test/Dialect/Transform/multi-arg-top-level-params.mlir (revision 5468f8841353cd56350a6ebe6898d2563e5c34b0)
1// RUN: mlir-opt %s --pass-pipeline='builtin.module(transform-interpreter{\
2// RUN:                             debug-bind-trailing-args=#1;2;3,#42;45})' \
3// RUN:          --split-input-file --verify-diagnostics
4
5module attributes {transform.with_named_sequence} {
6  transform.named_sequence @__transform_main(
7      %arg0: !transform.any_op, %arg1: !transform.param<i64>,
8      %arg2: !transform.param<i64>) {
9    // expected-remark @below {{1 : i64, 2 : i64, 3 : i64}}
10    transform.debug.emit_param_as_remark %arg1 : !transform.param<i64>
11    // expected-remark @below {{42 : i64, 45 : i64}}
12    transform.debug.emit_param_as_remark %arg2 : !transform.param<i64>
13    transform.yield
14  }
15}
16
17// -----
18
19module attributes {transform.with_named_sequence} {
20  transform.named_sequence @__transform_main(
21      %arg0: !transform.any_op, %arg1: !transform.any_op,
22      // expected-error @above {{wrong kind of value provided for top-level operation handle}}
23      %arg2: !transform.param<i64>) {
24    transform.yield
25  }
26}
27
28// -----
29
30module attributes {transform.with_named_sequence} {
31  // expected-error @below {{operation expects 3 extra value bindings, but 2 were provided to the interpreter}}
32  transform.named_sequence @__transform_main(
33      %arg0: !transform.any_op, %arg1: !transform.param<i64>,
34      %arg2: !transform.param<i64>, %arg3: !transform.param<i64>) {
35    transform.yield
36  }
37}
38