|
12 | 12 | module { |
13 | 13 | p4hir.control @c(%arg0: !p4hir.ref<!b32i> {p4hir.dir = #p4hir<dir inout>, p4hir.param_name = "b"})() { |
14 | 14 | // Verify action functions are created with hidden annotation. |
15 | | - // CHECK-DAG: p4hir.func action @[[CASE_0:_switch_[0-9]+_case_0]]() annotations {hidden} { |
| 15 | + // CHECK-DAG: p4hir.func action @_switch_{{[0-9]+}}_case_0() annotations {hidden} { |
16 | 16 | // CHECK-DAG: p4hir.return |
17 | 17 | // CHECK-DAG: } |
18 | | - // CHECK-DAG: p4hir.func action @[[CASE_1:_switch_[0-9]+_case_1]]() annotations {hidden} { |
| 18 | + // CHECK-DAG: p4hir.func action @_switch_{{[0-9]+}}_case_1() annotations {hidden} { |
19 | 19 | // CHECK-DAG: p4hir.return |
20 | 20 | // CHECK-DAG: } |
21 | | - // CHECK-DAG: p4hir.func action @[[DEFAULT:_switch_[0-9]+_default]]() annotations {hidden} { |
| 21 | + // CHECK-DAG: p4hir.func action @_switch_{{[0-9]+}}_default() annotations {hidden} { |
22 | 22 | // CHECK-DAG: p4hir.return |
23 | 23 | // CHECK-DAG: } |
24 | 24 |
|
25 | 25 | // Verify table structure with key, actions, default, and entries. |
26 | | - // CHECK: p4hir.table @[[TABLE:_switch_[0-9]+_table]] annotations {hidden} { |
| 26 | + // CHECK: p4hir.table @_switch_{{[0-9]+}}_table annotations {hidden} { |
27 | 27 | // CHECK: p4hir.table_key |
28 | 28 | // CHECK: p4hir.match_key #exact |
29 | 29 | // CHECK: p4hir.table_actions { |
30 | | - // CHECK: p4hir.table_action @[[CASE_0]]() { |
31 | | - // CHECK: p4hir.call @c::@[[CASE_0]] () : () -> () |
| 30 | + // CHECK: p4hir.table_action @_switch_{{[0-9]+}}_case_0() { |
| 31 | + // CHECK: p4hir.call @c::@_switch_{{[0-9]+}}_case_0 () : () -> () |
32 | 32 | // CHECK: } |
33 | | - // CHECK: p4hir.table_action @[[CASE_1]]() { |
34 | | - // CHECK: p4hir.call @c::@[[CASE_1]] () : () -> () |
| 33 | + // CHECK: p4hir.table_action @_switch_{{[0-9]+}}_case_1() { |
| 34 | + // CHECK: p4hir.call @c::@_switch_{{[0-9]+}}_case_1 () : () -> () |
35 | 35 | // CHECK: } |
36 | | - // CHECK: p4hir.table_action @[[DEFAULT]]() { |
37 | | - // CHECK: p4hir.call @c::@[[DEFAULT]] () : () -> () |
| 36 | + // CHECK: p4hir.table_action @_switch_{{[0-9]+}}_default() { |
| 37 | + // CHECK: p4hir.call @c::@_switch_{{[0-9]+}}_default () : () -> () |
38 | 38 | // CHECK: } |
39 | 39 | // CHECK: } |
40 | 40 | // CHECK: p4hir.table_default_action { |
41 | | - // CHECK: p4hir.call @c::@[[DEFAULT]] () : () -> () |
| 41 | + // CHECK: p4hir.call @c::@_switch_{{[0-9]+}}_default () : () -> () |
42 | 42 | // CHECK: } |
43 | 43 | // CHECK: p4hir.table_entries const { |
44 | 44 | // CHECK: p4hir.table_entry #p4hir.aggregate<[#int16_b32i]> : tuple<!b32i> { |
45 | | - // CHECK: p4hir.call @c::@[[CASE_0]] () : () -> () |
| 45 | + // CHECK: p4hir.call @c::@_switch_{{[0-9]+}}_case_0 () : () -> () |
46 | 46 | // CHECK: } |
47 | 47 | // CHECK: p4hir.table_entry #p4hir.aggregate<[#int32_b32i]> : tuple<!b32i> { |
48 | | - // CHECK: p4hir.call @c::@[[CASE_0]] () : () -> () |
| 48 | + // CHECK: p4hir.call @c::@_switch_{{[0-9]+}}_case_0 () : () -> () |
49 | 49 | // CHECK: } |
50 | 50 | // CHECK: p4hir.table_entry #p4hir.aggregate<[#int2_b32i]> : tuple<!b32i> { |
51 | | - // CHECK: p4hir.call @c::@[[CASE_1]] () : () -> () |
| 51 | + // CHECK: p4hir.call @c::@_switch_{{[0-9]+}}_case_1 () : () -> () |
52 | 52 | // CHECK: } |
53 | 53 | // CHECK: } |
54 | 54 | // CHECK: } |
55 | 55 |
|
56 | 56 | // Verify table is applied directly with the condition (no intermediate variable). |
57 | | - // CHECK: p4hir.control_apply |
58 | | - // CHECK: p4hir.read |
59 | | - // CHECK: p4hir.table_apply |
60 | | - // CHECK: p4hir.struct_extract |
61 | | - // CHECK: p4hir.switch |
62 | | - // CHECK: p4hir.case(equal |
63 | | - // CHECK: p4hir.const #int1_b32i |
64 | | - // CHECK: p4hir.assign |
| 57 | + // CHECK: p4hir.control_apply { |
| 58 | + // CHECK: %{{.*}} = p4hir.read %arg0 : <!b32i> |
| 59 | + // CHECK-NEXT: %{{.*}} = p4hir.table_apply @c::@_switch_{{[0-9]+}}_table with key{{.*}}%{{.*}} |
| 60 | + // CHECK: %{{.*}} = p4hir.struct_extract %{{.*}}["action_run"] |
| 61 | + // CHECK: p4hir.switch (%{{.*}}{{.*}}) { |
| 62 | + // CHECK: p4hir.case(equal, [#{{[_a-z0-9]+}}_switch_{{[0-9]+}}_case_0]) { |
| 63 | + // CHECK: %{{.*}} = p4hir.const #int1_b32i |
| 64 | + // CHECK: p4hir.assign %{{.*}}, %arg0 : <!b32i> |
65 | 65 | // CHECK: p4hir.yield |
66 | 66 | // CHECK: } |
67 | | - // CHECK: p4hir.case(equal |
68 | | - // CHECK: p4hir.const #int2_b32i |
69 | | - // CHECK: p4hir.assign |
| 67 | + // CHECK: p4hir.case(equal, [#{{[_a-z0-9]+}}_switch_{{[0-9]+}}_case_1]) { |
| 68 | + // CHECK: %{{.*}} = p4hir.const #int2_b32i |
| 69 | + // CHECK: p4hir.assign %{{.*}}, %arg0 : <!b32i> |
70 | 70 | // CHECK: p4hir.yield |
71 | 71 | // CHECK: } |
72 | | - // CHECK: p4hir.case(default |
73 | | - // CHECK: p4hir.const #int3_b32i |
74 | | - // CHECK: p4hir.assign |
| 72 | + // CHECK: p4hir.case(default, [#{{[_a-z0-9]+}}_switch_{{[0-9]+}}_default]) { |
| 73 | + // CHECK: %{{.*}} = p4hir.const #int3_b32i |
| 74 | + // CHECK: p4hir.assign %{{.*}}, %arg0 : <!b32i> |
75 | 75 | // CHECK: p4hir.yield |
76 | 76 | // CHECK: } |
77 | 77 | // CHECK: p4hir.yield |
78 | 78 | // CHECK: } |
79 | 79 | // CHECK: } |
| 80 | + |
80 | 81 | p4hir.control_apply { |
81 | 82 | %val = p4hir.read %arg0 : <!b32i> |
82 | 83 | p4hir.switch (%val : !b32i) { |
@@ -151,9 +152,9 @@ module { |
151 | 152 |
|
152 | 153 | // The switch on action_run should remain unchanged. |
153 | 154 | // CHECK: p4hir.control_apply { |
154 | | - // CHECK: %[[APPLY:.*]] = p4hir.table_apply @c_action_run::@t with key() |
155 | | - // CHECK: %[[AR:.*]] = p4hir.struct_extract %[[APPLY]]["action_run"] |
156 | | - // CHECK: p4hir.switch (%[[AR]] : !anon) { |
| 155 | + // CHECK: %{{.*}} = p4hir.table_apply @c_action_run::@t with key() |
| 156 | + // CHECK: %{{.*}} = p4hir.struct_extract %{{.*}}["action_run"] |
| 157 | + // CHECK: p4hir.switch (%{{.*}} : !anon) { |
157 | 158 | // CHECK: p4hir.case(equal, [#anon_a1]) { |
158 | 159 | // CHECK: p4hir.yield |
159 | 160 | // CHECK: } |
|
0 commit comments