brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 1c018b1 Raw
104 lines · plain
1// RUN: mlir-opt %s --pass-pipeline="builtin.module(transform-interpreter{\2// RUN:       debug-bind-trailing-args=func.func,func.return})" \3// RUN:   --split-input-file --verify-diagnostics4 5module attributes {transform.with_named_sequence} {6  transform.named_sequence @__transform_main(7      %arg0: !transform.any_op, %arg1: !transform.any_op,8      %arg2: !transform.any_op) {9    transform.debug.emit_remark_at %arg1, "first extra" : !transform.any_op10    transform.debug.emit_remark_at %arg2, "second extra" : !transform.any_op11    transform.yield12  }13}14 15// expected-remark @below {{first extra}}16func.func @foo() {17  // expected-remark @below {{second extra}}18  return19}20 21// expected-remark @below {{first extra}}22func.func @bar(%arg0: i1) {23  cf.cond_br %arg0, ^bb1, ^bb224^bb1:25  // expected-remark @below {{second extra}}26  return27^bb2:28  // expected-remark @below {{second extra}}29  return30}31 32// -----33 34module attributes {transform.with_named_sequence} {35  transform.named_sequence @__transform_main(36      %arg0: !transform.any_op, %arg1: !transform.any_op,37      %arg2: !transform.param<i64>) {38    // expected-error @above {{wrong kind of value provided for top-level parameter}}39    transform.yield40  }41}42 43func.func @foo() {44  return45}46 47// -----48 49module attributes {transform.with_named_sequence} {50  transform.named_sequence @__transform_main(51      %arg0: !transform.any_op, %arg1: !transform.any_op,52      %arg2: !transform.any_value) {53    // expected-error @above {{wrong kind of value provided for the top-level value handle}}54    transform.yield55  }56}57 58func.func @foo() {59  return60}61 62// -----63 64 65module attributes {transform.with_named_sequence} {66  // expected-error @below {{operation expects 1 extra value bindings, but 2 were provided to the interpreter}}67  transform.named_sequence @__transform_main(68      %arg0: !transform.any_op, %arg1: !transform.any_op) {69    transform.yield70  }71}72 73// -----74 75module attributes {transform.with_named_sequence} {76  transform.named_sequence @__transform_main(77      %arg0: !transform.any_op, %arg1: !transform.any_op,78      %arg2: !transform.any_op) {79    transform.sequence %arg0, %arg1, %arg2 : !transform.any_op, !transform.any_op, !transform.any_op failures(propagate) {80    ^bb0(%arg3: !transform.any_op, %arg4: !transform.any_op, %arg5: !transform.any_op):81      transform.debug.emit_remark_at %arg4, "first extra" : !transform.any_op82      transform.debug.emit_remark_at %arg5, "second extra" : !transform.any_op83    }84    transform.yield85  }86}87 88// expected-remark @below {{first extra}}89func.func @foo() {90  // expected-remark @below {{second extra}}91  return92}93 94// expected-remark @below {{first extra}}95func.func @bar(%arg0: i1) {96  cf.cond_br %arg0, ^bb1, ^bb297^bb1:98  // expected-remark @below {{second extra}}99  return100^bb2:101  // expected-remark @below {{second extra}}102  return103}104