1// RUN: mlir-opt %s
2// No need to check anything else than parsing here, this is being used by another test as data.
3
4module attributes {transform.with_named_sequence} {
5  transform.named_sequence private @private_helper(%arg0: !transform.any_op {transform.readonly}) {
6    transform.debug.emit_remark_at %arg0, "message" : !transform.any_op
7    transform.yield
8  }
9
10  // These ops collide with ops from the other module before or after renaming.
11  transform.named_sequence private @colliding(%arg0: !transform.any_op {transform.readonly}) {
12    transform.debug.emit_remark_at %arg0, "external colliding (without suffix)" : !transform.any_op
13    transform.yield
14  }
15  transform.named_sequence private @colliding_0(%arg0: !transform.any_op {transform.readonly}) {
16    transform.debug.emit_remark_at %arg0, "external colliding_0" : !transform.any_op
17    transform.yield
18  }
19  transform.named_sequence private @colliding_2(%arg0: !transform.any_op {transform.readonly}) {
20    transform.debug.emit_remark_at %arg0, "external colliding_2" : !transform.any_op
21    transform.yield
22  }
23  transform.named_sequence private @colliding_3(%arg0: !transform.any_op {transform.readonly}) {
24    transform.debug.emit_remark_at %arg0, "external colliding_3" : !transform.any_op
25    transform.yield
26  }
27  transform.named_sequence private @colliding_4(%arg0: !transform.any_op {transform.readonly}) {
28    transform.debug.emit_remark_at %arg0, "external colliding_4" : !transform.any_op
29    transform.yield
30  }
31  transform.named_sequence @colliding_5(%arg0: !transform.any_op {transform.readonly}) {
32    transform.debug.emit_remark_at %arg0, "external colliding_5" : !transform.any_op
33    transform.yield
34  }
35
36  transform.named_sequence @print_message(%arg0: !transform.any_op {transform.readonly}) {
37    transform.include @private_helper failures(propagate) (%arg0) : (!transform.any_op) -> ()
38    transform.yield
39  }
40
41  transform.named_sequence @consuming(%arg0: !transform.any_op {transform.consumed}) {
42    transform.test_consume_operand %arg0 : !transform.any_op
43    transform.yield
44  }
45
46  transform.named_sequence @unannotated(%arg0: !transform.any_op) {
47    transform.debug.emit_remark_at %arg0, "unannotated" : !transform.any_op
48    transform.yield
49  }
50
51  transform.named_sequence @symbol_user(%arg0: !transform.any_op {transform.readonly}) {
52    transform.include @colliding failures(propagate) (%arg0) : (!transform.any_op) -> ()
53    transform.include @colliding_0 failures(propagate) (%arg0) : (!transform.any_op) -> ()
54    transform.include @colliding_2 failures(propagate) (%arg0) : (!transform.any_op) -> ()
55    transform.include @colliding_3 failures(propagate) (%arg0) : (!transform.any_op) -> ()
56    transform.include @colliding_4 failures(propagate) (%arg0) : (!transform.any_op) -> ()
57    transform.include @colliding_5 failures(propagate) (%arg0) : (!transform.any_op) -> ()
58    transform.yield
59  }
60}
61