@@ -606,7 +606,8 @@ bb1(%reborrow : @guaranteed $C):
606
606
// CHECK-NEXT: begin: %{{.*}} = begin_borrow %0 : $C
607
607
// CHECK-NEXT: ends: br bb1(%{{.*}} : $C, %{{.*}} : $D)
608
608
// CHECK-NEXT: exits:
609
- // CHECK-NEXT: interiors: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
609
+ // CHECK-NEXT: interiors: %{{.*}} = begin_borrow %{{.*}} : $D
610
+ // CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
610
611
// CHECK-NEXT: last user: br bb1(%{{.*}} : $C, %{{.*}} : $D)
611
612
// CHECK-NEXT: testInteriorNondominatedReborrow: interior_liveness_swift with: %borrow1
612
613
sil [ossa] @testInteriorNondominatedReborrow : $@convention(thin) (@guaranteed C) -> () {
@@ -647,7 +648,8 @@ bb3(%reborrow1 : @guaranteed $C, %reborrow2 : @guaranteed $D):
647
648
// CHECK-NEXT: ends: end_borrow %{{.*}} : $C
648
649
// CHECK-NEXT: exits:
649
650
// CHECK-NEXT: interiors: end_borrow %{{.*}} : $D
650
- // CHECK-NEXT: br bb1(%{{.*}} : $D)
651
+ // CHECK-NEXT: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
652
+ // CHECK-NEXT: %{{.*}} = begin_borrow %{{.*}} : $D
651
653
// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
652
654
// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
653
655
// CHECK-NEXT: testInteriorDominatedReborrow: interior_liveness_swift with: %borrow1
@@ -777,7 +779,8 @@ bb3(%reborrow : @guaranteed $C, %phi : @guaranteed $D):
777
779
// CHECK-NEXT: begin: %{{.*}} = begin_borrow %0 : $C
778
780
// CHECK-NEXT: ends: end_borrow %{{.*}} : $C
779
781
// CHECK-NEXT: exits:
780
- // CHECK-NEXT: interiors: br bb1(%{{.*}} : $C)
782
+ // CHECK-NEXT: interiors: %{{.*}} = borrowed %{{.*}} : $C from (%0 : $C)
783
+ // CHECK-NEXT: %{{.*}} = begin_borrow %0 : $C
781
784
// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
782
785
// CHECK-NEXT: testInnerDominatedReborrow: interior_liveness_swift with: @argument[0]
783
786
sil [ossa] @testInnerDominatedReborrow : $@convention(thin) (@guaranteed C) -> () {
@@ -815,7 +818,8 @@ bb1(%reborrow : @guaranteed $C):
815
818
// CHECK-NEXT: ends: destroy_value %{{.*}} : $C
816
819
// CHECK-NEXT: exits:
817
820
// CHECK-NEXT: interiors: end_borrow %{{.*}} : $C
818
- // CHECK-NEXT: br bb3(%{{.*}} : $C)
821
+ // CHECK-NEXT: %{{.*}} = borrowed %{{.*}} : $C from (%{{.*}} : $C, %{{.*}} : $C)
822
+ // CHECK-NEXT: %{{.*}} = begin_borrow %{{.*}} : $C
819
823
// CHECK-NEXT: last user: destroy_value %{{.*}} : $C
820
824
// CHECK-NEXT: testInnerDominatedReborrow2: interior_liveness_swift with: %copy0a
821
825
sil [ossa] @testInnerDominatedReborrow2 : $@convention(thin) (@guaranteed C) -> () {
@@ -902,7 +906,8 @@ bb3(%outer : @guaranteed $D, %inner : @guaranteed $D):
902
906
// CHECK-NEXT: begin: %{{.*}} = borrowed %{{.*}} : $D from
903
907
// CHECK-NEXT: ends: end_borrow
904
908
// CHECK-NEXT: exits:
905
- // CHECK-NEXT: interiors: br bb4(
909
+ // CHECK-NEXT: interiors: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $D, %0 : $D)
910
+ // CHECK-NEXT: %{{.*}} = borrowed %{{.*}} : $D from (%0 : $D, %{{.*}} : $D)
906
911
// CHECK-NEXT: last user: end_borrow
907
912
// CHECK-NEXT: testInnerAdjacentReborrow1: interior_liveness_swift with: %outer3
908
913
sil [ossa] @testInnerAdjacentReborrow1 : $@convention(thin) (@guaranteed D) -> () {
@@ -950,7 +955,8 @@ bb4(%inner4 : @guaranteed $D):
950
955
// CHECK-NEXT: begin: {{.*}} borrowed {{.*}} from
951
956
// CHECK-NEXT: ends: end_borrow %{{.*}} : $D
952
957
// CHECK-NEXT: exits:
953
- // CHECK-NEXT: interiors: br bb4(%{{.*}} : $D)
958
+ // CHECK-NEXT: interiors: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $D, %0 : $D)
959
+ // CHECK-NEXT: %{{.*}} = borrowed %{{.*}} : $D from (%0 : $D, %{{.*}} : $D)
954
960
// CHECK-NEXT: last user: end_borrow %{{.*}} : $D
955
961
// CHECK-NEXT: testInnerAdjacentReborrow2: interior_liveness_swift with: %outer3
956
962
sil [ossa] @testInnerAdjacentReborrow2 : $@convention(thin) (@guaranteed D) -> () {
@@ -1227,7 +1233,8 @@ bb0(%0 : @guaranteed $D):
1227
1233
// CHECK-NEXT: ends: end_borrow %{{.*}} : $C
1228
1234
// CHECK-NEXT: exits:
1229
1235
// CHECK-NEXT: interiors: end_borrow %{{.*}} : $D
1230
- // CHECK-NEXT: br bb1(%{{.*}} : $D)
1236
+ // CHECK-NEXT: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1237
+ // CHECK-NEXT: %{{.*}} = begin_borrow %{{.*}} : $D
1231
1238
// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1232
1239
// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
1233
1240
// CHECK-NEXT: testInteriorDominatedReborrowedFrom: interior_liveness_swift with: %borrow1
@@ -1464,10 +1471,11 @@ bb1(%reborrow1 : @reborrow $C, %phi : @guaranteed $D):
1464
1471
// CHECK-NEXT: Inner scope: %{{.*}} = argument of bb1 : $D
1465
1472
// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
1466
1473
// CHECK-NEXT: begin: %{{.*}} = begin_borrow %0 : $C
1467
- // CHECK-NEXT: ends: br bb1(%{{.*}} : $D)
1468
- // CHECK-NEXT: exits:
1469
- // CHECK-NEXT: interiors: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1470
- // CHECK-NEXT: last user: br bb1(%{{.*}} : $D)
1474
+ // CHECK-NEXT: ends: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1475
+ // CHECK-NEXT: exits:
1476
+ // CHECK-NEXT: interiors: %{{.*}} = begin_borrow %{{.*}} : $D
1477
+ // CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1478
+ // CHECK-NEXT: last user: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1471
1479
// CHECK-NEXT: testInteriorDominatedReborrowedFromDeadEnd: interior_liveness_swift with: %borrow1
1472
1480
1473
1481
// CHECK-LABEL: testInteriorDominatedReborrowedFromDeadEnd: interior_liveness with: %reborrow2
@@ -1532,13 +1540,13 @@ bb1(%reborrow2 : @reborrow $D):
1532
1540
// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
1533
1541
// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
1534
1542
// CHECK-NEXT: begin: %{{.*}} = begin_borrow %0 : $C
1535
- // CHECK-NEXT: ends: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1536
- // CHECK-NEXT: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1537
- // CHECK-NEXT: exits:
1538
- // CHECK-NEXT: interiors: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1543
+ // CHECK-NEXT: ends: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1544
+ // CHECK-NEXT: exits:
1545
+ // CHECK-NEXT: interiors: %{{.*}} = begin_borrow %{{.*}} : $D
1546
+ // CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1547
+ // CHECK-NEXT: %{{.*}} = begin_borrow %{{.*}} : $D
1539
1548
// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1540
- // CHECK-NEXT: last user: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1541
- // CHECK-NEXT: last user: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1549
+ // CHECK-NEXT: last user: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1542
1550
// CHECK-NEXT: testInteriorDominatedReborrowedFromDeadEndNested: interior_liveness_swift with: %borrow0
1543
1551
1544
1552
// CHECK-LABEL: testInteriorDominatedReborrowedFromDeadEndNested: interior_liveness with: %reborrow
@@ -1616,13 +1624,13 @@ bb3(%reborrow : @reborrow $D, %arg : @guaranteed $C):
1616
1624
// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
1617
1625
// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
1618
1626
// CHECK-NEXT: begin: %{{.*}} = begin_borrow %0 : $C
1619
- // CHECK-NEXT: ends: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1620
- // CHECK-NEXT: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1621
- // CHECK-NEXT: exits:
1622
- // CHECK-NEXT: interiors: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1627
+ // CHECK-NEXT: ends: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1628
+ // CHECK-NEXT: exits:
1629
+ // CHECK-NEXT: interiors: %{{.*}} = begin_borrow %{{.*}} : $D
1630
+ // CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1631
+ // CHECK-NEXT: %{{.*}} = begin_borrow %{{.*}} : $D
1623
1632
// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1624
- // CHECK-NEXT: last user: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1625
- // CHECK-NEXT: last user: br bb3(%{{.*}} : $D, %{{.*}} : $C)
1633
+ // CHECK-NEXT: last user: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1626
1634
// CHECK-NEXT: testInteriorNondominatedPhiBorrowedFromDeadEnd: interior_liveness_swift with: %borrow0
1627
1635
1628
1636
// CHECK-LABEL: testInteriorNondominatedPhiBorrowedFromDeadEnd: interior_liveness with: %reborrow
@@ -1888,7 +1896,8 @@ bb0(%0 : @guaranteed $D, %1 : @owned $C):
1888
1896
// CHECK-NEXT: %{{.*}} = address_to_pointer %{{.*}} : $*C to $Builtin.RawPointer
1889
1897
// CHECK-NEXT: %{{.*}} = ref_element_addr %{{.*}} : $D, #D.object
1890
1898
// CHECK-NEXT: %{{.*}} = mark_dependence [nonescaping] %{{.*}} : $D on %{{.*}} : $C
1891
- // CHECK-NEXT: br bb1(%{{.*}} : $D)
1899
+ // CHECK-NEXT: %{{.*}} = borrowed %{{.*}} : $D from (%{{.*}} : $C)
1900
+ // CHECK-NEXT: %{{.*}} = begin_borrow %{{.*}} : $D
1892
1901
// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
1893
1902
// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
1894
1903
// CHECK-NEXT: testInteriorDominatedReborrowedFromMarkDep: interior_liveness_swift with: %borrow1
0 commit comments