@@ -606,7 +606,8 @@ bb1(%reborrow : @guaranteed $C):
606606// CHECK-NEXT: begin: %{{.*}} = begin_borrow %0 : $C
607607// CHECK-NEXT: ends: br bb1(%{{.*}} : $C, %{{.*}} : $D)
608608// 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
610611// CHECK-NEXT: last user: br bb1(%{{.*}} : $C, %{{.*}} : $D)
611612// CHECK-NEXT: testInteriorNondominatedReborrow: interior_liveness_swift with: %borrow1
612613sil [ossa] @testInteriorNondominatedReborrow : $@convention(thin) (@guaranteed C) -> () {
@@ -647,7 +648,8 @@ bb3(%reborrow1 : @guaranteed $C, %reborrow2 : @guaranteed $D):
647648// CHECK-NEXT: ends: end_borrow %{{.*}} : $C
648649// CHECK-NEXT: exits:
649650// 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
651653// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
652654// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
653655// CHECK-NEXT: testInteriorDominatedReborrow: interior_liveness_swift with: %borrow1
@@ -777,7 +779,8 @@ bb3(%reborrow : @guaranteed $C, %phi : @guaranteed $D):
777779// CHECK-NEXT: begin: %{{.*}} = begin_borrow %0 : $C
778780// CHECK-NEXT: ends: end_borrow %{{.*}} : $C
779781// 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
781784// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
782785// CHECK-NEXT: testInnerDominatedReborrow: interior_liveness_swift with: @argument[0]
783786sil [ossa] @testInnerDominatedReborrow : $@convention(thin) (@guaranteed C) -> () {
@@ -815,7 +818,8 @@ bb1(%reborrow : @guaranteed $C):
815818// CHECK-NEXT: ends: destroy_value %{{.*}} : $C
816819// CHECK-NEXT: exits:
817820// 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
819823// CHECK-NEXT: last user: destroy_value %{{.*}} : $C
820824// CHECK-NEXT: testInnerDominatedReborrow2: interior_liveness_swift with: %copy0a
821825sil [ossa] @testInnerDominatedReborrow2 : $@convention(thin) (@guaranteed C) -> () {
@@ -902,7 +906,8 @@ bb3(%outer : @guaranteed $D, %inner : @guaranteed $D):
902906// CHECK-NEXT: begin: %{{.*}} = borrowed %{{.*}} : $D from
903907// CHECK-NEXT: ends: end_borrow
904908// 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)
906911// CHECK-NEXT: last user: end_borrow
907912// CHECK-NEXT: testInnerAdjacentReborrow1: interior_liveness_swift with: %outer3
908913sil [ossa] @testInnerAdjacentReborrow1 : $@convention(thin) (@guaranteed D) -> () {
@@ -950,7 +955,8 @@ bb4(%inner4 : @guaranteed $D):
950955// CHECK-NEXT: begin: {{.*}} borrowed {{.*}} from
951956// CHECK-NEXT: ends: end_borrow %{{.*}} : $D
952957// 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)
954960// CHECK-NEXT: last user: end_borrow %{{.*}} : $D
955961// CHECK-NEXT: testInnerAdjacentReborrow2: interior_liveness_swift with: %outer3
956962sil [ossa] @testInnerAdjacentReborrow2 : $@convention(thin) (@guaranteed D) -> () {
@@ -1227,7 +1233,8 @@ bb0(%0 : @guaranteed $D):
12271233// CHECK-NEXT: ends: end_borrow %{{.*}} : $C
12281234// CHECK-NEXT: exits:
12291235// 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
12311238// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
12321239// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
12331240// CHECK-NEXT: testInteriorDominatedReborrowedFrom: interior_liveness_swift with: %borrow1
@@ -1464,10 +1471,11 @@ bb1(%reborrow1 : @reborrow $C, %phi : @guaranteed $D):
14641471// CHECK-NEXT: Inner scope: %{{.*}} = argument of bb1 : $D
14651472// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
14661473// 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)
14711479// CHECK-NEXT: testInteriorDominatedReborrowedFromDeadEnd: interior_liveness_swift with: %borrow1
14721480
14731481// CHECK-LABEL: testInteriorDominatedReborrowedFromDeadEnd: interior_liveness with: %reborrow2
@@ -1532,13 +1540,13 @@ bb1(%reborrow2 : @reborrow $D):
15321540// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
15331541// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
15341542// 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
15391548// 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)
15421550// CHECK-NEXT: testInteriorDominatedReborrowedFromDeadEndNested: interior_liveness_swift with: %borrow0
15431551
15441552// CHECK-LABEL: testInteriorDominatedReborrowedFromDeadEndNested: interior_liveness with: %reborrow
@@ -1616,13 +1624,13 @@ bb3(%reborrow : @reborrow $D, %arg : @guaranteed $C):
16161624// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
16171625// CHECK-NEXT: Inner scope: %{{.*}} = begin_borrow %{{.*}} : $D
16181626// 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
16231632// 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)
16261634// CHECK-NEXT: testInteriorNondominatedPhiBorrowedFromDeadEnd: interior_liveness_swift with: %borrow0
16271635
16281636// CHECK-LABEL: testInteriorNondominatedPhiBorrowedFromDeadEnd: interior_liveness with: %reborrow
@@ -1888,7 +1896,8 @@ bb0(%0 : @guaranteed $D, %1 : @owned $C):
18881896// CHECK-NEXT: %{{.*}} = address_to_pointer %{{.*}} : $*C to $Builtin.RawPointer
18891897// CHECK-NEXT: %{{.*}} = ref_element_addr %{{.*}} : $D, #D.object
18901898// 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
18921901// CHECK-NEXT: %{{.*}} = unchecked_ref_cast %{{.*}} : $C to $D
18931902// CHECK-NEXT: last user: end_borrow %{{.*}} : $C
18941903// CHECK-NEXT: testInteriorDominatedReborrowedFromMarkDep: interior_liveness_swift with: %borrow1
0 commit comments