Skip to content

Commit 942d52f

Browse files
authored
Merge pull request #77581 from eeckstein/reborrow-printing
SIL: change the textual SIL output of a re-borrow phi from `@reborrow @guaranteed` to `@reborrow`
2 parents 53f772c + f363c32 commit 942d52f

26 files changed

+96
-91
lines changed

lib/SIL/IR/SILPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ class SILPrinter : public SILInstructionVisitor<SILPrinter> {
703703
*this << "@reborrow ";
704704
if (i.IsEscaping)
705705
*this << "@pointer_escape ";
706-
if (i.OwnershipKind && *i.OwnershipKind != OwnershipKind::None) {
706+
if (!i.IsReborrow && i.OwnershipKind && *i.OwnershipKind != OwnershipKind::None) {
707707
*this << "@" << i.OwnershipKind.value() << " ";
708708
}
709709
return *this << i.Type;

lib/SIL/Parser/ParseSIL.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7175,9 +7175,14 @@ bool SILParser::parseSILBasicBlock(SILBuilder &B) {
71757175

71767176
// If SILOwnership is enabled and we are not assuming that we are
71777177
// parsing unqualified SIL, look for printed value ownership kinds.
7178-
if (F->hasOwnership() &&
7179-
parseSILOwnership(OwnershipKind))
7180-
return true;
7178+
if (F->hasOwnership()) {
7179+
if (P.Tok.is(tok::at_sign)) {
7180+
if (parseSILOwnership(OwnershipKind))
7181+
return true;
7182+
} else if (foundReborrow) {
7183+
OwnershipKind = OwnershipKind::Guaranteed;
7184+
}
7185+
}
71817186

71827187
if (parseSILType(Ty))
71837188
return true;

test/SIL/Parser/borrow.sil

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ sil [ossa] @foo : $@convention(thin) () -> () {
5454
}
5555

5656
// CHECK-LABEL: sil [ossa] @reborrowTest : $@convention(thin) (@owned C) -> () {
57-
// CHECK: bb3([[ARG:%.*]] : @reborrow @guaranteed $C):
57+
// CHECK: bb3([[ARG:%.*]] : @reborrow $C):
5858
// CHECK-NEXT: {{%.*}} = borrowed [[ARG]] : $C from (%0 : $C)
5959
// CHECK: } // end sil function 'reborrowTest'
6060
sil [ossa] @reborrowTest : $@convention(thin) (@owned C) -> () {
@@ -69,7 +69,7 @@ bb2:
6969
%b2 = begin_borrow %0 : $C
7070
br bb3(%b2 : $C)
7171

72-
bb3(%r : @reborrow @guaranteed $C):
72+
bb3(%r : @reborrow $C):
7373
%f = borrowed %r : $C from (%0 : $C)
7474
end_borrow %f : $C
7575
destroy_value %0 : $C

test/SIL/Parser/borrow_argument.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sil_stage canonical
77
import Builtin
88

99
// CHECK-LABEL: sil [ossa] @borrow_argument_test : $@convention(thin) (@guaranteed Builtin.NativeObject) -> () {
10-
// CHECK: bb1([[PHIBBARG:%.*]] : @reborrow @guaranteed $Builtin.NativeObject):
10+
// CHECK: bb1([[PHIBBARG:%.*]] : @reborrow $Builtin.NativeObject):
1111
// CHECK: [[BF:%.*]] = borrowed [[PHIBBARG]] : $Builtin.NativeObject from (%0 : $Builtin.NativeObject)
1212
// CHECK: end_borrow [[BF]] : $Builtin.NativeObject
1313
sil [ossa] @borrow_argument_test : $@convention(thin) (@guaranteed Builtin.NativeObject) -> () {

test/SIL/Parser/ownership_arguments.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Builtin
66

77
// CHECK-LABEL: sil [ossa] @simple : $@convention(thin) (@owned Builtin.NativeObject, Builtin.NativeObject, @guaranteed Builtin.NativeObject, Builtin.Int32) -> () {
88
// CHECK: bb0({{%.*}} : @owned $Builtin.NativeObject, {{%.*}} : @unowned $Builtin.NativeObject, {{%.*}} : @guaranteed $Builtin.NativeObject, {{%.*}} : $Builtin.Int32):
9-
// CHECK: bb1({{%[0-9][0-9]*}} : @owned $Builtin.NativeObject, {{%[0-9][0-9]*}} : @unowned $Builtin.NativeObject, {{%[0-9][0-9]*}} : @reborrow @guaranteed $Builtin.NativeObject, {{%[0-9][0-9]*}} : $Builtin.Int32):
9+
// CHECK: bb1({{%[0-9][0-9]*}} : @owned $Builtin.NativeObject, {{%[0-9][0-9]*}} : @unowned $Builtin.NativeObject, {{%[0-9][0-9]*}} : @reborrow $Builtin.NativeObject, {{%[0-9][0-9]*}} : $Builtin.Int32):
1010

1111
sil [ossa] @simple : $@convention(thin) (@owned Builtin.NativeObject, Builtin.NativeObject, @guaranteed Builtin.NativeObject, Builtin.Int32) -> () {
1212
bb0(%0 : @owned $Builtin.NativeObject, %1 : @unowned $Builtin.NativeObject, %2 : @guaranteed $Builtin.NativeObject, %3 : $Builtin.Int32):

test/SIL/Serialization/borrow_argument.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ sil_stage canonical
99
import Builtin
1010

1111
// CHECK-LABEL: sil [serialized] [ossa] @borrow_argument_test : $@convention(thin) (@guaranteed Builtin.NativeObject) -> () {
12-
// CHECK: bb1([[PHIBBARG:%.*]] : @reborrow @guaranteed $Builtin.NativeObject):
12+
// CHECK: bb1([[PHIBBARG:%.*]] : @reborrow $Builtin.NativeObject):
1313
// CHECK: [[BF:%.*]] = borrowed [[PHIBBARG]] : $Builtin.NativeObject from (%0 : $Builtin.NativeObject)
1414
// CHECK: end_borrow [[BF]] : $Builtin.NativeObject
1515
sil [serialized] [ossa] @borrow_argument_test : $@convention(thin) (@guaranteed Builtin.NativeObject) -> () {

test/SIL/Serialization/ownershipflags.sil

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ bb0(%0 : @owned $Klass):
4545
}
4646

4747
// CHECK-LABEL: sil [serialized] [ossa] @test_reborrow : $@convention(thin) (@owned Klass) -> () {
48-
// CHECK: bb3([[ARG:%.*]] : @reborrow @guaranteed $Klass):
48+
// CHECK: bb3([[ARG:%.*]] : @reborrow $Klass):
4949
// CHECK: } // end sil function 'test_reborrow'
5050
sil [serialized] [ossa] @test_reborrow : $@convention(thin) (@owned Klass) -> () {
5151
bb0(%0 : @owned $Klass):
@@ -59,7 +59,7 @@ bb2:
5959
%b2 = begin_borrow %0 : $Klass
6060
br bb3(%b2 : $Klass)
6161

62-
bb3(%r : @reborrow @guaranteed $Klass):
62+
bb3(%r : @reborrow $Klass):
6363
%rf = borrowed %r : $Klass from (%0 : $Klass)
6464
end_borrow %rf : $Klass
6565
destroy_value %0 : $Klass

test/SILOptimizer/borrow_introducer_unit.sil

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,15 +201,15 @@ exit:
201201
// paths, but should only appear in the introducer list once.
202202
//
203203
// CHECK-LABEL: introducer_revisit_reborrow: find_borrow_introducers with: %aggregate2
204-
// CHECK: bb1([[REBORROW:%.*]] : @reborrow @guaranteed $C
204+
// CHECK: bb1([[REBORROW:%.*]] : @reborrow $C
205205
// CHECK: } // end sil function 'introducer_revisit_reborrow'
206206
// CHECK: Introducers:
207207
// CHECK-NEXT: [[REBORROW]] = argument of bb1 : $C
208208
// CHECK-NEXT: %0 = argument of bb0 : $C
209209
// CHECK-NEXT: introducer_revisit_reborrow: find_borrow_introducers with: %aggregate2
210210

211211
// CHECK-LABEL: introducer_revisit_reborrow: borrow_introducers with: %aggregate2
212-
// CHECK: bb1([[REBORROW:%.*]] : @reborrow @guaranteed $C
212+
// CHECK: bb1([[REBORROW:%.*]] : @reborrow $C
213213
// CHECK: } // end sil function 'introducer_revisit_reborrow'
214214
// CHECK: Borrow introducers for: %{{.*}} = struct $PairC (%{{.*}} : $C, %{{.*}} : $C)
215215
// CHECK-NEXT: %0 = argument of bb0 : $C
@@ -240,7 +240,7 @@ exit:
240240
// CHECK-LABEL: introducer_multiple_borrow: find_borrow_introducers with: %aggregate2
241241
// CHECK: begin_borrow %0 : $C
242242
// CHECK: [[BORROW2:%.*]] = begin_borrow %0 : $C
243-
// CHECK: bb1([[REBORROW:%.*]] : @reborrow @guaranteed $C
243+
// CHECK: bb1([[REBORROW:%.*]] : @reborrow $C
244244
// CHECK: } // end sil function 'introducer_multiple_borrow'
245245
// CHECK: Introducers:
246246
// CHECK-NEXT: [[REBORROW]] = argument of bb1 : $C
@@ -251,7 +251,7 @@ exit:
251251
// CHECK-LABEL: introducer_multiple_borrow: borrow_introducers with: %aggregate2
252252
// CHECK: begin_borrow %0 : $C
253253
// CHECK: [[BORROW2:%.*]] = begin_borrow %0 : $C
254-
// CHECK: bb1([[REBORROW:%.*]] : @reborrow @guaranteed $C
254+
// CHECK: bb1([[REBORROW:%.*]] : @reborrow $C
255255
// CHECK: } // end sil function 'introducer_multiple_borrow'
256256
// CHECK: Borrow introducers for: %{{.*}} = struct $PairC (%{{.*}} : $C, %{{.*}} : $C)
257257
// CHECK-NEXT: %0 = argument of bb0 : $C

test/SILOptimizer/borrowed_from_updater.sil

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ sil @coro : $@yield_once @convention(thin) () -> @yields @guaranteed C
3131
// The introducer of an introducer is always itself.
3232

3333
// CHECK-LABEL: sil [ossa] @introducer_identity :
34-
// CHECK: bb1([[A:%.*]] : @reborrow @guaranteed $C):
34+
// CHECK: bb1([[A:%.*]] : @reborrow $C):
3535
// CHECK-NEXT: [[B:%.*]] = borrowed [[A]] : $C from (%0 : $C)
3636
// CHECK-NEXT: end_borrow [[B]]
3737
// CHECK: } // end sil function 'introducer_identity'
@@ -89,7 +89,7 @@ bb2:
8989
// paths, but should only appear in the introducer list once.
9090
//
9191
// CHECK-LABEL: sil [ossa] @introducer_revisit_reborrow :
92-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C, [[A2:%.*]] : @guaranteed $PairC):
92+
// CHECK: bb1([[A1:%.*]] : @reborrow $C, [[A2:%.*]] : @guaranteed $PairC):
9393
// CHECK-NEXT: [[B2:%.*]] = borrowed [[A2]] : $PairC from ([[A1]] : $C, %0 : $C)
9494
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $C from (%0 : $C)
9595
// CHECK: } // end sil function 'introducer_revisit_reborrow'
@@ -116,7 +116,7 @@ bb2:
116116
// CHECK-LABEL: sil [ossa] @introducer_multiple_borrow :
117117
// CHECK: [[BB1:%.*]] = begin_borrow %0
118118
// CHECK: [[BB2:%.*]] = begin_borrow %0
119-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C, [[A2:%.*]] : @guaranteed $PairC):
119+
// CHECK: bb1([[A1:%.*]] : @reborrow $C, [[A2:%.*]] : @guaranteed $PairC):
120120
// CHECK-NEXT: [[B2:%.*]] = borrowed [[A2]] : $PairC from ([[BB2]] : $C, %0 : $C)
121121
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $C from (%0 : $C)
122122
// CHECK: } // end sil function 'introducer_multiple_borrow'
@@ -140,7 +140,7 @@ bb2:
140140
}
141141

142142
// CHECK-LABEL: sil [ossa] @testSelfIntroducer :
143-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C, [[A2:%.*]] : @guaranteed $D):
143+
// CHECK: bb1([[A1:%.*]] : @reborrow $C, [[A2:%.*]] : @guaranteed $D):
144144
// CHECK-NEXT: [[B2:%.*]] = borrowed [[A2]] : $D from ([[A1]] : $C)
145145
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $C from (%0 : $C)
146146
// CHECK: } // end sil function 'testSelfIntroducer'
@@ -169,9 +169,9 @@ bb3:
169169
// one of the outer adjacent phis as and enclosing value for %inner.
170170
//
171171
// CHECK-LABEL: sil [ossa] @testEnclosingRevisitReborrow :
172-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C):
172+
// CHECK: bb1([[A1:%.*]] : @reborrow $C):
173173
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $C from (%0 : $C)
174-
// CHECK: bb4([[A2:%.*]] : @owned $C, [[A3:%.*]] : @owned $C, [[A4:%.*]] : @reborrow @guaranteed $C):
174+
// CHECK: bb4([[A2:%.*]] : @owned $C, [[A3:%.*]] : @owned $C, [[A4:%.*]] : @reborrow $C):
175175
// CHECK-NEXT: [[B2:%.*]] = borrowed [[A4]] : $C from ([[A3]] : $C, [[A2]] : $C)
176176
// CHECK: } // end sil function 'testEnclosingRevisitReborrow'
177177
sil [ossa] @testEnclosingRevisitReborrow : $@convention(thin) (@owned C, @owned C) -> () {
@@ -197,7 +197,7 @@ bb4(%outer0 : @owned $C, %outer1 : @owned $C, %inner : @guaranteed $C):
197197
}
198198

199199
// CHECK-LABEL: sil [ossa] @testLoadBorrow :
200-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C):
200+
// CHECK: bb1([[A1:%.*]] : @reborrow $C):
201201
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $C from ()
202202
// CHECK: } // end sil function 'testLoadBorrow'
203203
sil [ossa] @testLoadBorrow : $@convention(thin) (@in_guaranteed C) -> () {
@@ -212,30 +212,30 @@ bb1(%3 : @guaranteed $C):
212212
}
213213

214214
// CHECK-LABEL: sil [ossa] @testTwoLevels :
215-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C):
215+
// CHECK: bb1([[A1:%.*]] : @reborrow $C):
216216
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $C from (%0 : $C)
217-
// CHECK: bb2([[A2:%.*]] : @reborrow @guaranteed $C):
217+
// CHECK: bb2([[A2:%.*]] : @reborrow $C):
218218
// CHECK-NEXT: [[B2:%.*]] = borrowed [[A2]] : $C from (%0 : $C)
219219
// CHECK: } // end sil function 'testTwoLevels'
220220
sil [ossa] @testTwoLevels : $@convention(thin) (@owned C) -> () {
221221
bb0(%0 : @owned $C):
222222
%2 = begin_borrow %0 : $C
223223
br bb1(%2 : $C)
224224

225-
bb1(%3 : @reborrow @guaranteed $C):
225+
bb1(%3 : @reborrow $C):
226226
br bb2(%3 : $C)
227227

228-
bb2(%6 : @reborrow @guaranteed $C):
228+
bb2(%6 : @reborrow $C):
229229
end_borrow %6 : $C
230230
destroy_value %0 : $C
231231
%99 = tuple()
232232
return %99 : $()
233233
}
234234

235235
// CHECK-LABEL: sil [ossa] @testTwoLevelsWithPair :
236-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C):
236+
// CHECK: bb1([[A1:%.*]] : @reborrow $C):
237237
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $C from (%1 : $C)
238-
// CHECK: bb2([[A2:%.*]] : @reborrow @guaranteed $C):
238+
// CHECK: bb2([[A2:%.*]] : @reborrow $C):
239239
// CHECK-NEXT: [[B2:%.*]] = borrowed [[A2]] : $C from (%1 : $C)
240240
// CHECK: } // end sil function 'testTwoLevelsWithPair'
241241
sil [ossa] @testTwoLevelsWithPair : $@convention(thin) (@owned PairC) -> () {
@@ -244,10 +244,10 @@ bb0(%0 : @owned $PairC):
244244
%3 = begin_borrow %1 : $C
245245
br bb1(%3 : $C)
246246

247-
bb1(%4 : @reborrow @guaranteed $C):
247+
bb1(%4 : @reborrow $C):
248248
br bb2(%4 : $C)
249249

250-
bb2(%6 : @reborrow @guaranteed $C):
250+
bb2(%6 : @reborrow $C):
251251
end_borrow %6 : $C
252252
destroy_value %1 : $C
253253
destroy_value %2 : $C
@@ -256,11 +256,11 @@ bb2(%6 : @reborrow @guaranteed $C):
256256
}
257257

258258
// CHECK-LABEL: sil [ossa] @testTwoLevelReborrow :
259-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $PairC, [[A2:%.*]] : @guaranteed $C):
259+
// CHECK: bb1([[A1:%.*]] : @reborrow $PairC, [[A2:%.*]] : @guaranteed $C):
260260
// CHECK-NEXT: [[B2:%.*]] = borrowed [[A2]] : $C from ([[A1]] : $PairC)
261261
// CHECK-NEXT: [[B1:%.*]] = borrowed [[A1]] : $PairC from (%0 : $PairC)
262262
// CHECK-NEXT: br bb2([[B1]] : $PairC, [[B2]] : $C)
263-
// CHECK: bb2([[A3:%.*]] : @reborrow @guaranteed $PairC, [[A4:%.*]] : @guaranteed $C):
263+
// CHECK: bb2([[A3:%.*]] : @reborrow $PairC, [[A4:%.*]] : @guaranteed $C):
264264
// CHECK-NEXT: [[B4:%.*]] = borrowed [[A4]] : $C from ([[A3]] : $PairC)
265265
// CHECK-NEXT: [[B3:%.*]] = borrowed [[A3]] : $PairC from (%0 : $PairC)
266266
// CHECK-NEXT: end_borrow [[B3]]
@@ -271,20 +271,20 @@ bb0(%0 : @owned $PairC):
271271
%3 = struct_extract %2 : $PairC, #PairC.first
272272
br bb1(%2 : $PairC, %3 : $C)
273273

274-
bb1(%5 : @reborrow @guaranteed $PairC, %6 : @guaranteed $C):
274+
bb1(%5 : @reborrow $PairC, %6 : @guaranteed $C):
275275
br bb2(%5 : $PairC, %6 : $C)
276276

277-
bb2(%8 : @reborrow @guaranteed $PairC, %9 : @guaranteed $C):
277+
bb2(%8 : @reborrow $PairC, %9 : @guaranteed $C):
278278
end_borrow %8 : $PairC
279279
destroy_value %0 : $PairC
280280
%99 = tuple()
281281
return %99 : $()
282282
}
283283

284284
// CHECK-LABEL: sil [ossa] @unreachable_block :
285-
// CHECK: bb1([[A1:%.*]] : @reborrow @guaranteed $C):
285+
// CHECK: bb1([[A1:%.*]] : @reborrow $C):
286286
// CHECK-NEXT: = borrowed [[A1]] : $C from ()
287-
// CHECK: bb2([[A2:%.*]] : @reborrow @guaranteed $C):
287+
// CHECK: bb2([[A2:%.*]] : @reborrow $C):
288288
// CHECK-NEXT: = borrowed [[A2]] : $C from (%0 : $C)
289289
// CHECK: } // end sil function 'unreachable_block'
290290
sil [ossa] @unreachable_block : $@convention(thin) (@owned C) -> @owned C {

test/SILOptimizer/copy_propagation_borrow.sil

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ bb0(%0 : @guaranteed $HasObject):
566566
// CHECK: br bb3([[CP]] : $C, [[BORROW]] : $C)
567567
// CHECK: bb2:
568568
// CHECK: br bb3([[CP]] : $C, [[BORROW]] : $C)
569-
// CHECK: bb3([[OWNEDPHI:%.*]] : @owned $C, [[BORROWPHI:%.*]] : @reborrow @guaranteed $C):
569+
// CHECK: bb3([[OWNEDPHI:%.*]] : @owned $C, [[BORROWPHI:%.*]] : @reborrow $C):
570570
// CHECK: [[R:%.*]] = borrowed [[BORROWPHI]] : $C from (%0 : $C)
571571
// CHECK: end_borrow [[R]]
572572
// CHECK: destroy_value [[OWNEDPHI]] : $C
@@ -606,7 +606,7 @@ bb3(%phi : @owned $C, %borrowphi : @guaranteed $C):
606606
//
607607
// CHECK-LABEL: sil [ossa] @testLiveCopyAfterReborrow : $@convention(thin) () -> () {
608608
// CHECK: [[ALLOC:%.*]] = alloc_ref $C
609-
// CHECK: bb3([[BORROWPHI:%.*]] : @reborrow @guaranteed $C):
609+
// CHECK: bb3([[BORROWPHI:%.*]] : @reborrow $C):
610610
// CHECK: [[R:%.*]] = borrowed [[BORROWPHI]] : $C from (%0 : $C)
611611
// CHECK: [[COPY:%.*]] = copy_value [[R]]
612612
// CHECK: end_borrow [[R]] : $C
@@ -655,7 +655,7 @@ bb3(%borrowphi : @guaranteed $C):
655655
//
656656
// CHECK-LABEL: sil [ossa] @testDeadCopyAfterReborrow : $@convention(thin) () -> () {
657657
// CHECK: [[ALLOC:%.*]] = alloc_ref $C
658-
// CHECK: bb3([[BORROWPHI:%.*]] : @reborrow @guaranteed $C):
658+
// CHECK: bb3([[BORROWPHI:%.*]] : @reborrow $C):
659659
// CHECK: [[R:%.*]] = borrowed [[BORROWPHI]] : $C from (%0 : $C)
660660
// CHECK-NOT: copy_value
661661
// CHECK: end_borrow [[R]] : $C
@@ -696,7 +696,7 @@ bb3(%borrowphi : @guaranteed $C):
696696
//
697697
// CHECK-LABEL: sil [ossa] @testNestedReborrowOutsideUse : $@convention(thin) () -> () {
698698
// CHECK: [[ALLOC:%.*]] = alloc_ref $C
699-
// CHECK: bb3([[BORROWPHI:%.*]] : @reborrow @guaranteed $C):
699+
// CHECK: bb3([[BORROWPHI:%.*]] : @reborrow $C):
700700
// CHECK: [[R:%.*]] = borrowed [[BORROWPHI]] : $C from (%0 : $C)
701701
// CHECK-NOT: copy
702702
// CHECK: end_borrow [[R]]
@@ -743,7 +743,7 @@ bb3(%borrowphi : @guaranteed $C):
743743
// CHECK: bb2:
744744
// CHECK: begin_borrow %0 : $C
745745
// CHECK: br bb3(%{{.*}} : $C, %0 : $C)
746-
// CHECK: bb3(%{{.*}} : @reborrow @guaranteed $C, [[COPYPHI:%.*]] : @owned $C):
746+
// CHECK: bb3(%{{.*}} : @reborrow $C, [[COPYPHI:%.*]] : @owned $C):
747747
// CHECK: end_borrow
748748
// CHECK: destroy_value [[COPYPHI]] : $C
749749
// CHECK-LABEL: } // end sil function 'testOwnedReborrow'
@@ -1218,7 +1218,7 @@ bb0(%0 : @guaranteed $HasObject):
12181218
%3 = begin_borrow %2 : $C
12191219
br bb1(%3 : $C)
12201220

1221-
bb1(%5 : @reborrow @guaranteed $C):
1221+
bb1(%5 : @reborrow $C):
12221222
%6 = borrowed %5 : $C from (%2 : $C)
12231223
end_borrow %6 : $C
12241224
destroy_value %2 : $C

0 commit comments

Comments
 (0)