@@ -163,36 +163,36 @@ enum BoolLike { case true_, false_ }
163
163
sil @testThread : $@convention(thin) (@in BoolLike) -> Int64 {
164
164
bb0(%0 : $*BoolLike):
165
165
// CHECK: switch_enum_addr %0 : $*BoolLike, case #BoolLike.true_!enumelt: bb1, case #BoolLike.false_!enumelt: bb2
166
- switch_enum_addr %0 : $*BoolLike, case #BoolLike.true_!enumelt: bb1, case #BoolLike.false_!enumelt: bb3 // id: %3
166
+ switch_enum_addr %0 : $*BoolLike, case #BoolLike.true_!enumelt: bb1, case #BoolLike.false_!enumelt: bb3
167
167
168
- bb1: // Preds: bb0
169
- %4 = integer_literal $Builtin.Int1, -1 // user: %5
170
- br bb2(%4 : $Builtin.Int1) // id: %5
168
+ bb1:
169
+ %4 = integer_literal $Builtin.Int1, -1
170
+ br bb2(%4 : $Builtin.Int1)
171
171
172
- bb2(%6 : $Builtin.Int1): // Preds: bb3 bb1
173
- br bb4 // id: %7
172
+ bb2(%6 : $Builtin.Int1):
173
+ br bb4
174
174
175
- bb3: // Preds: bb0
176
- %8 = integer_literal $Builtin.Int1, 0 // user: %9
177
- br bb2(%8 : $Builtin.Int1) // id: %9
175
+ bb3:
176
+ %8 = integer_literal $Builtin.Int1, 0
177
+ br bb2(%8 : $Builtin.Int1)
178
178
179
- bb4: // Preds: bb2
180
- cond_br %6, bb5, bb6 // id: %10
179
+ bb4:
180
+ cond_br %6, bb5, bb6
181
181
182
- bb5: // Preds: bb4
182
+ bb5:
183
183
%11 = metatype $@thin Int64.Type
184
- %12 = integer_literal $Builtin.Int64, 42 // user: %13
185
- %13 = struct $Int64 (%12 : $Builtin.Int64) // user: %14
186
- br bb7(%13 : $Int64) // id: %14
184
+ %12 = integer_literal $Builtin.Int64, 42
185
+ %13 = struct $Int64 (%12 : $Builtin.Int64)
186
+ br bb7(%13 : $Int64)
187
187
188
- bb6: // Preds: bb4
188
+ bb6:
189
189
%15 = metatype $@thin Int64.Type
190
- %16 = integer_literal $Builtin.Int64, 17 // user: %17
191
- %17 = struct $Int64 (%16 : $Builtin.Int64) // user: %18
192
- br bb7(%17 : $Int64) // id: %18
190
+ %16 = integer_literal $Builtin.Int64, 17
191
+ %17 = struct $Int64 (%16 : $Builtin.Int64)
192
+ br bb7(%17 : $Int64)
193
193
194
- bb7(%19 : $Int64): // Preds: bb6 bb5
195
- return %19 : $Int64 // id: %21
194
+ bb7(%19 : $Int64):
195
+ return %19 : $Int64
196
196
}
197
197
198
198
// func testThread2(a : Int32) -> Int32 {
@@ -218,35 +218,35 @@ bb0(%0 : $Builtin.Int1):
218
218
%f = integer_literal $Builtin.Int1, 0
219
219
cond_br %0, bb1, bb2
220
220
221
- bb1: // Preds: bb0
222
- %4 = enum $BoolLike, #BoolLike.true_!enumelt // user: %5
223
- br bb3(%4 : $BoolLike) // id: %5
221
+ bb1:
222
+ %4 = enum $BoolLike, #BoolLike.true_!enumelt
223
+ br bb3(%4 : $BoolLike)
224
224
225
- bb2: // Preds: bb0
226
- %8 = enum $BoolLike, #BoolLike.false_!enumelt // user: %9
227
- br bb3(%8 : $BoolLike) // id: %9
225
+ bb2:
226
+ %8 = enum $BoolLike, #BoolLike.false_!enumelt
227
+ br bb3(%8 : $BoolLike)
228
228
229
- bb3(%6 : $BoolLike): // Preds: bb3 bb1
229
+ bb3(%6 : $BoolLike):
230
230
%100 = select_enum %6 : $BoolLike, case #BoolLike.true_!enumelt: %t, case #BoolLike.false_!enumelt: %f : $Builtin.Int1
231
- br bb4 // id: %7
231
+ br bb4
232
232
233
- bb4: // Preds: bb2
234
- cond_br %100, bb5, bb6 // id: %10
233
+ bb4:
234
+ cond_br %100, bb5, bb6
235
235
236
- bb5: // Preds: bb4
236
+ bb5:
237
237
%11 = metatype $@thin Int64.Type
238
- %12 = integer_literal $Builtin.Int64, 42 // user: %13
239
- %13 = struct $Int64 (%12 : $Builtin.Int64) // user: %14
240
- br bb7(%13 : $Int64) // id: %14
238
+ %12 = integer_literal $Builtin.Int64, 42
239
+ %13 = struct $Int64 (%12 : $Builtin.Int64)
240
+ br bb7(%13 : $Int64)
241
241
242
- bb6: // Preds: bb4
242
+ bb6:
243
243
%15 = metatype $@thin Int64.Type
244
- %16 = integer_literal $Builtin.Int64, 17 // user: %17
245
- %17 = struct $Int64 (%16 : $Builtin.Int64) // user: %18
246
- br bb7(%17 : $Int64) // id: %18
244
+ %16 = integer_literal $Builtin.Int64, 17
245
+ %17 = struct $Int64 (%16 : $Builtin.Int64)
246
+ br bb7(%17 : $Int64)
247
247
248
- bb7(%19 : $Int64): // Preds: bb6 bb5
249
- return %19 : $Int64 // id: %21
248
+ bb7(%19 : $Int64):
249
+ return %19 : $Int64
250
250
}
251
251
252
252
// func testThread3(a : Int32) -> Int32 {
@@ -273,36 +273,36 @@ bb0(%0 : $Builtin.Int1):
273
273
%f = integer_literal $Builtin.Int1, 0
274
274
cond_br %0, bb1, bb2
275
275
276
- bb1: // Preds: bb0
277
- %4 = enum $BoolLike, #BoolLike.true_!enumelt // user: %5
276
+ bb1:
277
+ %4 = enum $BoolLike, #BoolLike.true_!enumelt
278
278
%40 = integer_literal $Builtin.Int64, 16
279
- br bb3(%4 : $BoolLike, %40 : $Builtin.Int64) // id: %5
279
+ br bb3(%4 : $BoolLike, %40 : $Builtin.Int64)
280
280
281
- bb2: // Preds: bb0
282
- %8 = enum $BoolLike, #BoolLike.false_!enumelt // user: %9
281
+ bb2:
282
+ %8 = enum $BoolLike, #BoolLike.false_!enumelt
283
283
%80 = integer_literal $Builtin.Int64, 17
284
- br bb3(%8 : $BoolLike, %80 : $Builtin.Int64) // id: %9
284
+ br bb3(%8 : $BoolLike, %80 : $Builtin.Int64)
285
285
286
- bb3(%6 : $BoolLike, %60 : $Builtin.Int64): // Preds: bb3 bb1
286
+ bb3(%6 : $BoolLike, %60 : $Builtin.Int64):
287
287
%100 = select_enum %6 : $BoolLike, case #BoolLike.true_!enumelt: %t, case #BoolLike.false_!enumelt: %f : $Builtin.Int1
288
- br bb4 // id: %7
288
+ br bb4
289
289
290
- bb4: // Preds: bb2
291
- cond_br %100, bb5, bb6 // id: %10
290
+ bb4:
291
+ cond_br %100, bb5, bb6
292
292
293
- bb5: // Preds: bb4
293
+ bb5:
294
294
%11 = metatype $@thin Int64.Type
295
- %12 = integer_literal $Builtin.Int64, 42 // user: %13
296
- %13 = struct $Int64 (%12 : $Builtin.Int64) // user: %14
297
- br bb7(%13 : $Int64) // id: %14
295
+ %12 = integer_literal $Builtin.Int64, 42
296
+ %13 = struct $Int64 (%12 : $Builtin.Int64)
297
+ br bb7(%13 : $Int64)
298
298
299
- bb6: // Preds: bb4
299
+ bb6:
300
300
%15 = metatype $@thin Int64.Type
301
- %17 = struct $Int64 (%60 : $Builtin.Int64) // user: %18
302
- br bb7(%17 : $Int64) // id: %18
301
+ %17 = struct $Int64 (%60 : $Builtin.Int64)
302
+ br bb7(%17 : $Int64)
303
303
304
- bb7(%19 : $Int64): // Preds: bb6 bb5
305
- return %19 : $Int64 // id: %21
304
+ bb7(%19 : $Int64):
305
+ return %19 : $Int64
306
306
}
307
307
308
308
@@ -579,27 +579,27 @@ import Swift
579
579
// CHECK-NOT: br bb
580
580
sil @dead_loop : $@convention(thin) () -> () {
581
581
bb0:
582
- %0 = integer_literal $Builtin.Int1, 0 // users: %1, %4
583
- %2 = integer_literal $Builtin.Int1, -1 // user: %11
584
- cond_br %0, bb1, bb3 // id: %4
582
+ %0 = integer_literal $Builtin.Int1, 0
583
+ %2 = integer_literal $Builtin.Int1, -1
584
+ cond_br %0, bb1, bb3
585
585
586
- bb1: // Preds: bb0
587
- %5 = integer_literal $Builtin.Int32, 0 // users: %6, %7
586
+ bb1:
587
+ %5 = integer_literal $Builtin.Int32, 0
588
588
%6 = struct $Int32 (%5 : $Builtin.Int32)
589
- br bb2(%5 : $Builtin.Int32) // id: %7
590
-
591
- bb2(%8 : $Builtin.Int32): // Preds: bb1 bb2
592
- %9 = integer_literal $Builtin.Int32, 1 // user: %11
593
- %11 = builtin "sadd_with_overflow_Int32"(%8 : $Builtin.Int32, %9 : $Builtin.Int32, %2 : $Builtin.Int1) : $(Builtin.Int32, Builtin.Int1) // users: %12, %13
594
- %12 = tuple_extract %11 : $(Builtin.Int32, Builtin.Int1), 0 // users: %15, %16
595
- %13 = tuple_extract %11 : $(Builtin.Int32, Builtin.Int1), 1 // user: %14
596
- cond_fail %13 : $Builtin.Int1 // id: %14
589
+ br bb2(%5 : $Builtin.Int32)
590
+
591
+ bb2(%8 : $Builtin.Int32):
592
+ %9 = integer_literal $Builtin.Int32, 1
593
+ %11 = builtin "sadd_with_overflow_Int32"(%8 : $Builtin.Int32, %9 : $Builtin.Int32, %2 : $Builtin.Int1) : $(Builtin.Int32, Builtin.Int1)
594
+ %12 = tuple_extract %11 : $(Builtin.Int32, Builtin.Int1), 0
595
+ %13 = tuple_extract %11 : $(Builtin.Int32, Builtin.Int1), 1
596
+ cond_fail %13 : $Builtin.Int1
597
597
%15 = struct $Int32 (%12 : $Builtin.Int32)
598
- br bb2(%12 : $Builtin.Int32) // id: %16
598
+ br bb2(%12 : $Builtin.Int32)
599
599
600
- bb3: // Preds: bb0
601
- %17 = tuple () // user: %18
602
- return %17 : $() // id: %18
600
+ bb3:
601
+ %17 = tuple ()
602
+ return %17 : $()
603
603
}
604
604
605
605
// We should be able to compile this down to returning the parameter
@@ -621,31 +621,31 @@ bb1:
621
621
br bb3(%4 : $Bool)
622
622
623
623
bb2:
624
- %6 = integer_literal $Builtin.Int1, -1 // user: %7
625
- %7 = struct $Bool (%6 : $Builtin.Int1) // user: %8
626
- br bb3(%7 : $Bool) // id: %8
624
+ %6 = integer_literal $Builtin.Int1, -1
625
+ %7 = struct $Bool (%6 : $Builtin.Int1)
626
+ br bb3(%7 : $Bool)
627
627
628
628
// CHECK: bb3
629
- bb3(%9 : $Bool): // Preds: bb1 bb2
629
+ bb3(%9 : $Bool):
630
630
// CHECK-NOT: struct_extract
631
- %10 = struct_extract %9 : $Bool, #Bool._value // user: %11
631
+ %10 = struct_extract %9 : $Bool, #Bool._value
632
632
// CHECK: return
633
- cond_br %10, bb4, bb5 // id: %11
633
+ cond_br %10, bb4, bb5
634
634
635
635
// CHECK-NOT: bb4
636
- bb4: // Preds: bb3
637
- %12 = integer_literal $Builtin.Int1, 0 // user: %13
638
- %13 = struct $Bool (%12 : $Builtin.Int1) // user: %14
639
- br bb6(%13 : $Bool) // id: %14
636
+ bb4:
637
+ %12 = integer_literal $Builtin.Int1, 0
638
+ %13 = struct $Bool (%12 : $Builtin.Int1)
639
+ br bb6(%13 : $Bool)
640
640
641
641
// CHECK-NOT: bb5
642
- bb5: // Preds: bb3
643
- %15 = integer_literal $Builtin.Int1, -1 // user: %16
644
- %16 = struct $Bool (%15 : $Builtin.Int1) // user: %17
645
- br bb6(%16 : $Bool) // id: %17
642
+ bb5:
643
+ %15 = integer_literal $Builtin.Int1, -1
644
+ %16 = struct $Bool (%15 : $Builtin.Int1)
645
+ br bb6(%16 : $Bool)
646
646
647
- bb6(%18 : $Bool): // Preds: bb4 bb5
648
- return %18 : $Bool // id: %19
647
+ bb6(%18 : $Bool):
648
+ return %18 : $Bool
649
649
}
650
650
651
651
class C {
0 commit comments