@@ -1250,11 +1250,16 @@ bb0(%0 : $Builtin.RawPointer):
1250
1250
// CHECK-NEXT: debug_value %0 : $*Int, let, name "x"
1251
1251
// CHECK-NEXT: %1 = alloc_stack $Int
1252
1252
// CHECK-NEXT: r=0,w=0
1253
+ // CHECK: PAIR #2.
1254
+ // CHECK-NEXT: debug_value undef : $*Int, let, name "y"
1255
+ // CHECK-NEXT: %0 = alloc_stack $Int
1256
+ // CHECK-NEXT: r=0,w=0
1253
1257
sil @test_debug_value : $@convention(thin) () -> () {
1254
1258
bb0:
1255
1259
%0 = alloc_stack $Int
1256
1260
%1 = alloc_stack $Int
1257
1261
debug_value %0 : $*Int, let, name "x"
1262
+ debug_value undef : $*Int, let, name "y"
1258
1263
dealloc_stack %1 : $*Int
1259
1264
dealloc_stack %0 : $*Int
1260
1265
%r = tuple ()
@@ -1435,6 +1440,34 @@ bb0:
1435
1440
return %5 : $()
1436
1441
}
1437
1442
1443
+ // CHECK-LABEL: @builtin_initializer_and_class
1444
+ // CHECK: PAIR #0.
1445
+ // CHECK-NEXT: %3 = builtin "zeroInitializer"(%2 : $*Int32) : $()
1446
+ // CHECK-NEXT: %1 = ref_element_addr %0 : $C, #C.prop
1447
+ // CHECK-NEXT: r=0,w=0
1448
+ // CHECK: PAIR #1.
1449
+ // CHECK-NEXT: %3 = builtin "zeroInitializer"(%2 : $*Int32) : $()
1450
+ // CHECK-NEXT: %2 = alloc_stack $Int32
1451
+ // CHECK-NEXT: r=0,w=1
1452
+ // CHECK: PAIR #2.
1453
+ // CHECK-NEXT: %4 = builtin "prepareInitialization"(%2 : $*Int32) : $()
1454
+ // CHECK-NEXT: %1 = ref_element_addr %0 : $C, #C.prop
1455
+ // CHECK-NEXT: r=0,w=0
1456
+ // CHECK: PAIR #3.
1457
+ // CHECK-NEXT: %4 = builtin "prepareInitialization"(%2 : $*Int32) : $()
1458
+ // CHECK-NEXT: %2 = alloc_stack $Int32
1459
+ // CHECK-NEXT: r=0,w=1
1460
+ sil @builtin_initializer_and_class : $@convention(thin) (@guaranteed C) -> () {
1461
+ bb0(%0 : $C):
1462
+ %1 = ref_element_addr %0, #C.prop
1463
+ %2 = alloc_stack $Int32
1464
+ %3 = builtin "zeroInitializer"(%2 : $*Int32) : $()
1465
+ %4 = builtin "prepareInitialization"(%2 : $*Int32) : $()
1466
+ dealloc_stack %2
1467
+ %6 = tuple ()
1468
+ return %6
1469
+ }
1470
+
1438
1471
// CHECK-LABEL: @test_stored_pointer
1439
1472
// CHECK: PAIR #2.
1440
1473
// CHECK-NEXT: %5 = apply %4(%2) : $@convention(thin) (@in Builtin.RawPointer) -> ()
0 commit comments