@@ -307,10 +307,10 @@ func borrowObjectFunctionCall() {
307
307
//
308
308
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
309
309
// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
310
- // CHECK: [[BORROW:%.*]] = load_borrow [[MARKED_ADDR]]
310
+ // CHECK: [[BORROW:%.*]] = load [copy] [[MARKED_ADDR]]
311
311
// CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVhF :
312
312
// CHECK: apply [[FN]]([[BORROW]])
313
- // CHECK: end_borrow [[BORROW]]
313
+ // CHECK: destroy_value [[BORROW]]
314
314
// CHECK: end_access [[ACCESS]]
315
315
// CHECK: } // end sil function '$s8moveonly29moveOnlyStructNonConsumingUseyyF'
316
316
func moveOnlyStructNonConsumingUse( ) {
@@ -330,10 +330,10 @@ func moveOnlyStructNonConsumingUse() {
330
330
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
331
331
// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
332
332
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_ADDR]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialStruct2
333
- // CHECK: [[BORROW:%.*]] = load_borrow [[GEP]]
333
+ // CHECK: [[BORROW:%.*]] = load [copy] [[GEP]]
334
334
// CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VhF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
335
335
// CHECK: apply [[FN]]([[BORROW]])
336
- // CHECK: end_borrow [[BORROW]]
336
+ // CHECK: destroy_value [[BORROW]]
337
337
// CHECK: end_access [[ACCESS]]
338
338
// CHECK: } // end sil function '$s8moveonly018moveOnlyStructMovecD15NonConsumingUseyyF'
339
339
func moveOnlyStructMoveOnlyStructNonConsumingUse( ) {
@@ -508,10 +508,10 @@ func moveOnlyStructCopyableStructCopyableStructCopyableKlassNonConsumingUse() {
508
508
// CHECK: [[FIELD:%.*]] = ref_element_addr [[BORROWED_COPYABLE_KLASS]]
509
509
// CHECK: [[ACCESS:%.*]] = begin_access [read] [dynamic] [[FIELD]]
510
510
// CHECK: [[ACCESS_MARK:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
511
- // CHECK: [[BORROWED_MOVEONLY_KLASS:%.*]] = load_borrow [[ACCESS_MARK]]
511
+ // CHECK: [[BORROWED_MOVEONLY_KLASS:%.*]] = load [copy] [[ACCESS_MARK]]
512
512
// CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
513
513
// CHECK: apply [[FN]]([[BORROWED_MOVEONLY_KLASS]])
514
- // CHECK: end_borrow [[BORROWED_MOVEONLY_KLASS]]
514
+ // CHECK: destroy_value [[BORROWED_MOVEONLY_KLASS]]
515
515
// CHECK: destroy_value [[COPYABLE_KLASS]]
516
516
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyabledede9KlassMovecF15NonConsumingUseyyF'
517
517
func moveOnlyStructCopyableStructCopyableStructCopyableKlassMoveOnlyKlassNonConsumingUse( ) {
@@ -649,25 +649,25 @@ func enumSwitchTest1(_ e: __shared EnumSwitchTests.E) {
649
649
// CHECK: [[GLOBAL:%.*]] = global_addr @$s8moveonly9varGlobalAA16NonTrivialStructVvp :
650
650
// CHECK: [[ACCESS:%.*]] = begin_access [read] [dynamic] [[GLOBAL]]
651
651
// CHECK: [[MARKED_GLOBAL:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
652
- // CHECK: [[LOADED_VAL:%.*]] = load_borrow [[MARKED_GLOBAL]] : $*NonTrivialStruct
652
+ // CHECK: [[LOADED_VAL:%.*]] = load [copy] [[MARKED_GLOBAL]] : $*NonTrivialStruct
653
653
// CHECK: apply {{%.*}}([[LOADED_VAL]])
654
- // CHECK: end_borrow [[LOADED_VAL]]
654
+ // CHECK: destroy_value [[LOADED_VAL]]
655
655
// CHECK: end_access [[ACCESS]]
656
656
//
657
657
// CHECK: [[GLOBAL:%.*]] = global_addr @$s8moveonly9varGlobalAA16NonTrivialStructVvp :
658
658
// CHECK: [[ACCESS:%.*]] = begin_access [read] [dynamic] [[GLOBAL]]
659
659
// CHECK: [[MARKED_GLOBAL:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
660
660
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_GLOBAL]]
661
- // CHECK: [[LOADED_VAL:%.*]] = load_borrow [[GEP]] : $*NonTrivialStruct2
661
+ // CHECK: [[LOADED_VAL:%.*]] = load [copy] [[GEP]] : $*NonTrivialStruct2
662
662
// CHECK: apply {{%.*}}([[LOADED_VAL]])
663
- // CHECK: end_borrow [[LOADED_VAL]]
663
+ // CHECK: destroy_value [[LOADED_VAL]]
664
664
// CHECK: end_access [[ACCESS]]
665
665
//
666
666
// CHECK: [[GLOBAL:%.*]] = global_addr @$s8moveonly9letGlobalAA16NonTrivialStructVvp :
667
667
// CHECK: [[MARKED_GLOBAL:%.*]] = mark_must_check [no_consume_or_assign] [[GLOBAL]]
668
- // CHECK: [[LOADED_VAL:%.*]] = load_borrow [[MARKED_GLOBAL]] : $*NonTrivialStruct
668
+ // CHECK: [[LOADED_VAL:%.*]] = load [copy] [[MARKED_GLOBAL]] : $*NonTrivialStruct
669
669
// CHECK: apply {{%.*}}([[LOADED_VAL]])
670
- // CHECK: end_borrow [[LOADED_VAL]]
670
+ // CHECK: destroy_value [[LOADED_VAL]]
671
671
//
672
672
// CHECK: [[GLOBAL:%.*]] = global_addr @$s8moveonly9letGlobalAA16NonTrivialStructVvp :
673
673
// CHECK: [[MARKED_GLOBAL:%.*]] = mark_must_check [no_consume_or_assign] [[GLOBAL]]
0 commit comments