Skip to content

Commit 0f8e798

Browse files
authored
Make SESE loop tests to be independent of basic block numbering. (#19581)
1 parent cfe5d4f commit 0f8e798

File tree

3 files changed

+75
-75
lines changed

3 files changed

+75
-75
lines changed

test/TensorFlow/crashers.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -279,13 +279,13 @@ public func SR8191() {
279279

280280
// CHECK-LABEL: --- XLA CFG Canonicalize: {{.*}}SR8191{{.*}}
281281
// CHECK: [sequence
282-
// CHECK: <while Preheader: bb0, Header: bb5, exit: bb4
282+
// CHECK: <while Preheader: {{bb[0-9]+}}, Header: {{bb[0-9]+}}, exit: [[EXIT:bb[0-9]+]]
283283
// CHECK: [sequence
284-
// CHECK: {condition Header: bb1
285-
// CHECK: block bb3
286-
// CHECK: block bb2}
287-
// CHECK: block bb6]>
288-
// CHECK: block bb4]
284+
// CHECK: {condition Header: {{bb[0-9]+}}
285+
// CHECK: block {{bb[0-9]+}}
286+
// CHECK: block {{bb[0-9]+}}}
287+
// CHECK: block {{bb[0-9]+}}]>
288+
// CHECK: block [[EXIT]]]
289289

290290
// `a` and `b` are both arguments to the tensor program, which starts at
291291
// "let _= a + b", and ends in that BB. So the tensor start point and tensor end

test/TensorFlow/sese_loop_canonicalization.sil

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -20,56 +20,56 @@ public func loopTest(breakCount:Int32) -> Int32 {
2020
*/
2121
// CHECK-LABEL:--- XLA CFG Canonicalize: $loopWithBreak
2222
// CHECK: [sequence
23-
// CHECK: <while Preheader: bb0, Header: bb7, exit: bb6
23+
// CHECK: <while Preheader: [[PHDR:bb[0-9]+]], Header: [[HDR:bb[0-9]+]], exit: [[EXIT:bb[0-9]+]]
2424
// CHECK: [sequence
25-
// CHECK: {condition Header: bb1
26-
// CHECK: {condition Header: bb3
27-
// CHECK: block bb5
28-
// CHECK: block bb4}
29-
// CHECK: block bb2}
30-
// CHECK: block bb8]>
31-
// CHECK: block bb6]
25+
// CHECK: {condition Header: [[ORIG_HDR:bb[0-9]+]]
26+
// CHECK: {condition Header: [[BRK_COND:bb[0-9]+]]
27+
// CHECK: block [[BRK_TRUE:bb[0-9]+]]
28+
// CHECK: block [[BRK_FALSE:bb[0-9]+]]}
29+
// CHECK: block [[ORIG_EXIT:bb[0-9]+]]}
30+
// CHECK: block [[LATCH:bb[0-9]+]]
31+
// CHECK: block [[EXIT]]]
3232
// CHECK: --- XLA CFG Canonicalize end
3333

3434
//-- Preheader sets up the undefs, exit index, and stayInLoop flag.
35-
// CHECK: bb0(%0 : $Builtin.Int32):
35+
// CHECK: [[PHDR]](%0 : $Builtin.Int32):
3636
// CHECK: [[CONST_ONE:%.*]] = integer_literal $Builtin.Int32, 1
3737
// CHECK: [[PHDR_EXIT:%.*]] = graph_op "Const"() {dtype: $Builtin.Int32, value$tensor: i32 0, __device: "ALL_DEVICES"}
3838
// CHECK: [[PHDR_FLAG:%.*]] = graph_op "Const"() {dtype: $Builtin.Int1, value$tensor: i1 -1, __device: "ALL_DEVICES"}
39-
// CHECK: br bb7([[A:%.*]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[PHDR_EXIT]] : $TensorHandle<Builtin.Int32>, [[PHDR_FLAG]] : $TensorHandle<Builtin.Int1>)
39+
// CHECK: br [[HDR]]([[A:%.*]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[PHDR_EXIT]] : $TensorHandle<Builtin.Int32>, [[PHDR_FLAG]] : $TensorHandle<Builtin.Int1>)
4040

4141
// Original header
42-
// CHECK: bb1:
42+
// CHECK: [[ORIG_HDR]]:
4343
// CHECK: [[A:%.*]] = builtin "cmp_slt_Int32"
44-
// CHECK: cond_br [[A]], bb3, bb2
44+
// CHECK: cond_br [[A]], [[BRK_COND]], [[ORIG_EXIT]]
4545

4646
//- Sets up index to 1 and flag to false on the exit branch of the original header to latch.
47-
// CHECK: bb2:
47+
// CHECK: [[ORIG_EXIT]]:
4848
// CHECK: [[LOCAL_EXIT_INDEX:%.*]] = graph_op "Const"() {dtype: $Builtin.Int32, value$tensor: i32 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int32>
4949
// CHECK: [[LOCAL_STAY_FLAG:%.*]] = graph_op "Const"() {dtype: $Builtin.Int1, value$tensor: i1 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1>
50-
// CHECK: br bb8([[SUM_AT_HDR:%.*]] : $Builtin.Int32, [[COUNT_AT_HDR:%.*]] : $Builtin.Int32, [[SUM_AT_HDR]] : $Builtin.Int32, [[LOCAL_EXIT_INDEX]] : $TensorHandle<Builtin.Int32>, [[LOCAL_STAY_FLAG]] : $TensorHandle<Builtin.Int1>)
50+
// CHECK: br [[LATCH]]([[SUM_AT_HDR:%.*]] : $Builtin.Int32, [[COUNT_AT_HDR:%.*]] : $Builtin.Int32, [[SUM_AT_HDR]] : $Builtin.Int32, [[LOCAL_EXIT_INDEX]] : $TensorHandle<Builtin.Int32>, [[LOCAL_STAY_FLAG]] : $TensorHandle<Builtin.Int1>)
5151

52-
// CHECK: bb3:
52+
// CHECK: [[BRK_COND]]:
5353
// CHECK: [[SUM_ESCAPING:%.*]] = builtin "sadd_with_overflow_Int32"([[SUM_AT_HDR]] : $Builtin.Int32, [[COUNT_AT_HDR]] : $Builtin.Int32) : $Builtin.Int32
5454
// CHECK: [[COUNT_ESCAPING:%.*]] = builtin "sadd_with_overflow_Int32"([[COUNT_AT_HDR]] : $Builtin.Int32, [[CONST_ONE]] : $Builtin.Int32) : $Builtin.Int32
55-
// CHECK: cond_br {{.*}}, bb5, bb4
55+
// CHECK: cond_br {{.*}}, [[BRK_TRUE]], [[BRK_FALSE]]
5656

5757
//- Sets up index to 0 and flag to true on the false branch of the if with break to latch.
58-
// CHECK: bb4:
58+
// CHECK: [[BRK_FALSE]]:
5959
// CHECK: [[LOCAL_EXIT_INDEX:%.*]] = graph_op "Const"() {dtype: $Builtin.Int32, value$tensor: i32 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int32>
6060
// CHECK: [[LOCAL_STAY_FLAG:%.*]] = graph_op "Const"() {dtype: $Builtin.Int1, value$tensor: i1 -1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1>
61-
// CHECK: br bb8([[SUM_ESCAPING]] : $Builtin.Int32, [[COUNT_ESCAPING]] : $Builtin.Int32, [[SUM_ESCAPING_AT_HDR:%.*]] : $Builtin.Int32, [[LOCAL_EXIT_INDEX]] : $TensorHandle<Builtin.Int32>, [[LOCAL_STAY_FLAG]] : $TensorHandle<Builtin.Int1>)
61+
// CHECK: br [[LATCH]]([[SUM_ESCAPING]] : $Builtin.Int32, [[COUNT_ESCAPING]] : $Builtin.Int32, [[SUM_ESCAPING_AT_HDR:%.*]] : $Builtin.Int32, [[LOCAL_EXIT_INDEX]] : $TensorHandle<Builtin.Int32>, [[LOCAL_STAY_FLAG]] : $TensorHandle<Builtin.Int1>)
6262

6363
//- Sets up index to 1 and flag to false on the true branch of the if with break to latch.
64-
// CHECK: bb5:
64+
// CHECK: [[BRK_TRUE]]:
6565
// CHECK: [[LOCAL_EXIT_INDEX:%.*]] = graph_op "Const"() {dtype: $Builtin.Int32, value$tensor: i32 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int32>
6666
// CHECK: [[LOCAL_STAY_FLAG:%.*]] = graph_op "Const"() {dtype: $Builtin.Int1, value$tensor: i1 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1>
67-
// CHECK: br bb8([[SUM_AT_HDR]] : $Builtin.Int32, [[COUNT_AT_HDR]] : $Builtin.Int32, [[SUM_ESCAPING]] : $Builtin.Int32, [[LOCAL_EXIT_INDEX]] : $TensorHandle<Builtin.Int32>, [[LOCAL_STAY_FLAG]] : $TensorHandle<Builtin.Int1>)
67+
// CHECK: br [[LATCH]]([[SUM_AT_HDR]] : $Builtin.Int32, [[COUNT_AT_HDR]] : $Builtin.Int32, [[SUM_ESCAPING]] : $Builtin.Int32, [[LOCAL_EXIT_INDEX]] : $TensorHandle<Builtin.Int32>, [[LOCAL_STAY_FLAG]] : $TensorHandle<Builtin.Int1>)
6868

6969
//-- New Header simply checks flag
70-
// CHECK: bb7([[SUM_AT_HDR]] : $Builtin.Int32, [[COUNT_AT_HDR]] : $Builtin.Int32, [[SUM_ESCAPING_AT_HDR]] : $Builtin.Int32, [[HDR_EXIT_ARG:%.*]] : $TensorHandle<Builtin.Int32>, [[HDR_FLAG_ARG:%.*]] : $TensorHandle<Builtin.Int1>):
70+
// CHECK: [[HDR]]([[SUM_AT_HDR]] : $Builtin.Int32, [[COUNT_AT_HDR]] : $Builtin.Int32, [[SUM_ESCAPING_AT_HDR]] : $Builtin.Int32, [[HDR_EXIT_ARG:%.*]] : $TensorHandle<Builtin.Int32>, [[HDR_FLAG_ARG:%.*]] : $TensorHandle<Builtin.Int1>):
7171
// CHECK: [[B:%.*]] = graph_op "tf_tensor_to_i1"([[HDR_FLAG_ARG]] : $TensorHandle<Builtin.Int1>) {{.*}} : $Builtin.Int1
72-
// CHECK: cond_br [[B]], bb1, bb6
72+
// CHECK: cond_br [[B]], [[ORIG_HDR]], [[EXIT]]
7373

7474
sil @$loopWithBreak : $@convention(thin) (Builtin.Int32) -> Builtin.Int32 {
7575
// %0 // user: %12
@@ -130,31 +130,31 @@ public func nestedLoopWithBreak(breakCount:Int32) -> Int32 {
130130
*/
131131
// CHECK-LABEL: --- XLA CFG Canonicalize: $nestedLoopWithBreak
132132
// CHECK:[sequence
133-
// CHECK: <while Preheader: bb0, Header: bb15, exit: bb12
133+
// CHECK: <while Preheader: [[OPHDR:bb[0-9]+]], Header: [[OHDR:bb[0-9]+]], exit: [[OEXIT:bb[0-9]+]]
134134
// CHECK: [sequence
135-
// CHECK: {condition Header: bb1
135+
// CHECK: {condition Header: [[OCOND:bb[0-9]+]]
136136
// CHECK: [sequence
137-
// CHECK: <while Preheader: bb3, Header: bb13, exit: bb9
137+
// CHECK: <while Preheader: [[IPHDR:bb[0-9]+]], Header: [[IHDR:bb[0-9]+]], exit: [[IEXIT:bb[0-9]+]]
138138
// CHECK: [sequence
139-
// CHECK: {condition Header: bb4
140-
// CHECK: {condition Header: bb6
141-
// CHECK: block bb8
142-
// CHECK: block bb7}
143-
// CHECK: block bb5}
144-
// CHECK: block bb14]>
145-
// CHECK: {condition Header: bb9
146-
// CHECK: block bb10
147-
// CHECK: block bb11}]
148-
// CHECK: block bb2}
149-
// CHECK: block bb16]>
150-
// CHECK: block bb12]
139+
// CHECK: {condition Header: {{bb[0-9]+}}
140+
// CHECK: {condition Header: {{bb[0-9]+}}
141+
// CHECK: block {{bb[0-9]+}}
142+
// CHECK: block {{bb[0-9]+}}
143+
// CHECK: block {{bb[0-9]+}}
144+
// CHECK: block {{bb[0-9]+}}]>
145+
// CHECK: {condition Header: {{bb[0-9]+}}
146+
// CHECK: block {{bb[0-9]+}}
147+
// CHECK: block {{bb[0-9]+}}}]
148+
// CHECK: block {{bb[0-9]+}}}
149+
// CHECK: block {{bb[0-9]+}}]>
150+
// CHECK: block [[OEXIT]]]
151151
//-- Loop preheaders have appropriate number of additional arguments
152152
//-- Outer loop
153-
// CHECK: bb0(%0 : $Builtin.Int32):
154-
// CHECK: br bb15([[A:%.*]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[A]] : $Builtin.Int32, {{.*}} : $TensorHandle<Builtin.Int32>, {{.*}} : $TensorHandle<Builtin.Int1>)
153+
// CHECK: [[OPHDR]](%0 : $Builtin.Int32):
154+
// CHECK: br [[OHDR]]([[A:%.*]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[A]] : $Builtin.Int32, [[A]] : $Builtin.Int32, {{.*}} : $TensorHandle<Builtin.Int32>, {{.*}} : $TensorHandle<Builtin.Int1>)
155155
//-- Inner loop
156-
// CHECK: bb3: // Preds: bb1
157-
// CHECK: br bb13({{.*}} : $Builtin.Int32, {{.*}} : $Builtin.Int32, [[B:%[0-9]+]] : $Builtin.Int32, [[B]] : $Builtin.Int32, {{.*}} : $TensorHandle<Builtin.Int32>, {{.*}} : $TensorHandle<Builtin.Int1>)
156+
// CHECK: [[IPHDR]]: // Preds: [[OCOND]]
157+
// CHECK: br [[IHDR]]({{.*}} : $Builtin.Int32, {{.*}} : $Builtin.Int32, [[B:%[0-9]+]] : $Builtin.Int32, [[B]] : $Builtin.Int32, {{.*}} : $TensorHandle<Builtin.Int32>, {{.*}} : $TensorHandle<Builtin.Int1>)
158158

159159
sil @$nestedLoopWithBreak : $@convention(thin) (Builtin.Int32) -> Builtin.Int32 {
160160
// %0 // users: %27, %26, %19
@@ -231,20 +231,20 @@ public func nestedLoopWithBreak(breakCount:Int32) -> Int32 {
231231

232232
// CHECK-LABEL: --- XLA CFG Canonicalize: $doWhileLoop
233233
// CHECK: [sequence
234-
// CHECK: <while Preheader: bb0, Header: bb7, exit: bb6
234+
// CHECK: <while Preheader: [[PHDR:bb[0-9]+]], Header: [[HDR:bb[0-9]+]], exit: [[EXIT:bb[0-9]+]]
235235
// CHECK: [sequence
236-
// CHECK: {condition Header: bb1
237-
// CHECK: {condition Header: bb3
238-
// CHECK: block bb4
239-
// CHECK: block bb5}
240-
// CHECK: block bb2}
241-
// CHECK: block bb8]>
242-
// CHECK: block bb6]
236+
// CHECK: {condition Header: {{bb[0-9]+}}
237+
// CHECK: {condition Header: {{bb[0-9]+}}
238+
// CHECK: block {{bb[0-9]+}}
239+
// CHECK: block {{bb[0-9]+}}}
240+
// CHECK: block {{bb[0-9]+}}}
241+
// CHECK: block {{bb[0-9]+}}]>
242+
// CHECK: block {{bb[0-9]+}}]
243243

244244
// Make sure undef is still left in this case for now.
245245
// CHECK: sil @$doWhileLoop : {{.*}} (Builtin.Int32) -> Builtin.Int32 {
246-
// CHECK: bb0({{.*}} : $Builtin.Int32):
247-
// CHECK: br bb7({{.*}} : $Builtin.Int32, undef : $Builtin.Int32, {{.*}} : $TensorHandle<Builtin.Int32>, {{.*}} : $TensorHandle<Builtin.Int1>)
246+
// CHECK: [[PHDR]]({{.*}} : $Builtin.Int32):
247+
// CHECK: br [[HDR]]({{.*}} : $Builtin.Int32, undef : $Builtin.Int32, {{.*}} : $TensorHandle<Builtin.Int32>, {{.*}} : $TensorHandle<Builtin.Int1>)
248248

249249
sil @$doWhileLoop : $@convention(thin) (Builtin.Int32) -> Builtin.Int32 {
250250
bb0(%0 : $Builtin.Int32):

test/TensorFlow/sese_loop_tests.sil

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ bb2: // Preds: bb1
2323

2424
// CHECK-LABEL: --- XLA CFG Canonicalize: $loopWithCriticalEdge
2525
// CHECK: [sequence
26-
// CHECK: <while Preheader: bb0, Header: bb5, exit: bb4
26+
// CHECK: <while Preheader: {{bb[0-9]+}}, Header: {{bb[0-9]+}}, exit: [[EXIT:bb[0-9]+]]
2727
// CHECK: [sequence
28-
// CHECK: {condition Header: bb1
29-
// CHECK: block bb3
30-
// CHECK: block bb2}
31-
// CHECK: block bb6]>
32-
// CHECK: block bb4]
28+
// CHECK: {condition Header: {{bb[0-9]+}}
29+
// CHECK: block {{bb[0-9]+}}
30+
// CHECK: block {{bb[0-9]+}}}
31+
// CHECK: block {{bb[0-9]+}}]>
32+
// CHECK: block [[EXIT]]]
3333
// CHECK: --- XLA CFG Canonicalize end
3434

3535
//--------------------------------------------------------------------------
@@ -57,13 +57,13 @@ bb3: // Preds: bb2
5757

5858
// CHECK-LABEL: --- XLA CFG Canonicalize: {{.*}}receiveFromHostGraphOp{{.*}}
5959
// CHECK: [sequence
60-
// CHECK: <while Preheader: bb0, Header: bb5, exit: bb4
60+
// CHECK: <while Preheader: {{bb[0-9]+}}, Header: {{bb[0-9]+}}, exit: [[EXIT:bb[0-9]+]]
6161
// CHECK: [sequence
62-
// CHECK: {condition Header: bb2
63-
// CHECK: block bb1
64-
// CHECK: block bb3}
65-
// CHECK: block bb6]>
66-
// CHECK: block bb4]
62+
// CHECK: {condition Header: {{bb[0-9]+}}
63+
// CHECK: block {{bb[0-9]+}}
64+
// CHECK: block {{bb[0-9]+}}}
65+
// CHECK: block {{bb[0-9]+}}]>
66+
// CHECK: block [[EXIT]]]
6767

6868
// sendToHost
6969
sil private @sendToHost : $@convention(thin) @callee_owned () -> Builtin.Int32 {
@@ -88,11 +88,11 @@ bb3: // Preds: bb1
8888
} // end sil function 'sendToHost'
8989
// CHECK-LABEL: --- XLA CFG Canonicalize: {{.*}}sendToHost{{.*}}
9090
// CHECK: [sequence
91-
// CHECK: <while Preheader: bb0, Header: bb5, exit: bb4
91+
// CHECK: <while Preheader: {{bb[0-9]+}}, Header: {{bb[0-9]+}}, exit: [[EXIT:bb[0-9]+]]
9292
// CHECK: [sequence
93-
// CHECK: {condition Header: bb1
94-
// CHECK: block bb3
95-
// CHECK: block bb2}
96-
// CHECK: block bb6]>
97-
// CHECK: block bb4]
93+
// CHECK: {condition Header: {{bb[0-9]+}}
94+
// CHECK: block {{bb[0-9]+}}
95+
// CHECK: block {{bb[0-9]+}}}
96+
// CHECK: block {{bb[0-9]+}}]>
97+
// CHECK: block [[EXIT]]]
9898

0 commit comments

Comments
 (0)