@@ -47,13 +47,13 @@ public enum NonTrivialEnum {
4747var varGlobal = NonTrivialStruct ( )
4848let letGlobal = NonTrivialStruct ( )
4949
50- public func borrowVal( _ e : __shared NonTrivialEnum) { }
51- public func borrowVal( _ e : __shared FD) { }
52- public func borrowVal( _ k: __shared CopyableKlass) { }
53- public func borrowVal( _ k: __shared NonTrivialCopyableStruct) { }
54- public func borrowVal( _ k: __shared NonTrivialCopyableStruct2 ) { }
55- public func borrowVal( _ s: __shared NonTrivialStruct) { }
56- public func borrowVal( _ s: __shared NonTrivialStruct2 ) { }
50+ public func borrowVal( _ e : borrowing NonTrivialEnum ) { }
51+ public func borrowVal( _ e : borrowing FD ) { }
52+ public func borrowVal( _ k: borrowing CopyableKlass ) { }
53+ public func borrowVal( _ k: borrowing NonTrivialCopyableStruct ) { }
54+ public func borrowVal( _ k: borrowing NonTrivialCopyableStruct2 ) { }
55+ public func borrowVal( _ s: borrowing NonTrivialStruct ) { }
56+ public func borrowVal( _ s: borrowing NonTrivialStruct2 ) { }
5757
5858public func consumeVal( _ e : __owned NonTrivialEnum) { }
5959public func consumeVal( _ e : __owned FD) { }
@@ -73,12 +73,12 @@ var bool: Bool { false }
7373// Function Arguments
7474//
7575
76- // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VhF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
76+ // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
7777// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialStruct):
7878// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
7979// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
80- // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VhF '
81- public func useNonTrivialStruct( _ s: __shared NonTrivialStruct) {
80+ // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VF '
81+ public func useNonTrivialStruct( _ s: borrowing NonTrivialStruct ) {
8282 borrowVal ( s)
8383 let s2 = s
8484 let k = s. fd
@@ -103,12 +103,12 @@ public func useNonTrivialOwnedStruct(_ s: __owned NonTrivialStruct) {
103103 let _ = s2
104104}
105105
106- // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
106+ // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
107107// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialEnum):
108108// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
109109// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
110- // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF '
111- public func useNonTrivialEnum( _ s: __shared NonTrivialEnum) {
110+ // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OF '
111+ public func useNonTrivialEnum( _ s: borrowing NonTrivialEnum ) {
112112 borrowVal ( s)
113113 let s2 = s
114114 switch s {
@@ -288,7 +288,7 @@ func blackHoleVarInitialization3() {
288288//
289289// CHECK: [[CLS:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
290290// CHECK: [[BORROW:%.*]] = load_borrow [[CLS]]
291- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
291+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
292292// CHECK: apply [[FN]]([[BORROW]])
293293// CHECK: end_borrow [[BORROW]]
294294// CHECK: } // end sil function '$s8moveonly24borrowObjectFunctionCallyyF'
@@ -310,7 +310,7 @@ func borrowObjectFunctionCall() {
310310// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
311311// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
312312// CHECK: [[BORROW:%.*]] = load [copy] [[MARKED_ADDR]]
313- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVhF :
313+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVF :
314314// CHECK: apply [[FN]]([[BORROW]])
315315// CHECK: destroy_value [[BORROW]]
316316// CHECK: end_access [[ACCESS]]
@@ -333,7 +333,7 @@ func moveOnlyStructNonConsumingUse() {
333333// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
334334// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_ADDR]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialStruct2
335335// CHECK: [[BORROW:%.*]] = load [copy] [[GEP]]
336- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VhF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
336+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
337337// CHECK: apply [[FN]]([[BORROW]])
338338// CHECK: destroy_value [[BORROW]]
339339// CHECK: end_access [[ACCESS]]
@@ -358,7 +358,7 @@ func moveOnlyStructMoveOnlyStructNonConsumingUse() {
358358// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialStruct2, #NonTrivialStruct2.copyableKlass
359359// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*CopyableKlass
360360// CHECK: end_access [[ACCESS]]
361- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
361+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
362362// CHECK: apply [[FN]]([[COPY]])
363363// CHECK: destroy_value [[COPY]] : $CopyableKlass
364364// CHECK: } // end sil function '$s8moveonly018moveOnlyStructMovecD28CopyableKlassNonConsumingUseyyF'
@@ -406,7 +406,7 @@ func moveOnlyStructSetMoveOnlyField() {
406406// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_ADDR]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialCopyableStruct
407407// CHECK: [[COPY:%.*]] = load [copy] [[GEP]] : $*NonTrivialCopyableStruct
408408// CHECK: end_access [[ACCESS]]
409- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVhF :
409+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVF :
410410// CHECK: apply [[FN]]([[COPY]])
411411// CHECK: destroy_value [[COPY]] : $NonTrivialCopyableStruct
412412// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyableD15NonConsumingUseyyF'
@@ -430,7 +430,7 @@ func moveOnlyStructCopyableStructNonConsumingUse() {
430430// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.copyableKlass
431431// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*CopyableKlass
432432// CHECK: end_access [[ACCESS]]
433- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
433+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
434434// CHECK: apply [[FN]]([[COPY]])
435435// CHECK: destroy_value [[COPY]] : $CopyableKlass
436436// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyabledE20KlassNonConsumingUseyyF'
@@ -454,7 +454,7 @@ func moveOnlyStructCopyableStructCopyableKlassNonConsumingUse() {
454454// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.nonTrivialCopyableStruct2
455455// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*NonTrivialCopyableStruct2
456456// CHECK: end_access [[ACCESS]]
457- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VhF :
457+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VF :
458458// CHECK: apply [[FN]]([[COPY]])
459459// CHECK: destroy_value [[COPY]] : $NonTrivialCopyableStruct2
460460// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyabledeD15NonConsumingUseyyF'
@@ -479,7 +479,7 @@ func moveOnlyStructCopyableStructCopyableStructNonConsumingUse() {
479479// CHECK: [[GEP3:%.*]] = struct_element_addr [[GEP2]] : $*NonTrivialCopyableStruct2, #NonTrivialCopyableStruct2.copyableKlass
480480// CHECK: [[COPY:%.*]] = load [copy] [[GEP3]] : $*CopyableKlass
481481// CHECK: end_access [[ACCESS]]
482- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
482+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
483483// CHECK: apply [[FN]]([[COPY]])
484484// CHECK: destroy_value [[COPY]] : $CopyableKlass
485485// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyablededE20KlassNonConsumingUseyyF'
@@ -511,7 +511,7 @@ func moveOnlyStructCopyableStructCopyableStructCopyableKlassNonConsumingUse() {
511511// CHECK: [[ACCESS:%.*]] = begin_access [read] [dynamic] [[FIELD]]
512512// CHECK: [[ACCESS_MARK:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
513513// CHECK: [[BORROWED_MOVEONLY_KLASS:%.*]] = load [copy] [[ACCESS_MARK]]
514- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
514+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
515515// CHECK: apply [[FN]]([[BORROWED_MOVEONLY_KLASS]])
516516// CHECK: destroy_value [[BORROWED_MOVEONLY_KLASS]]
517517// CHECK: destroy_value [[COPYABLE_KLASS]]
@@ -563,7 +563,7 @@ func consumeVal(_ e: __owned EnumSwitchTests.E2) {}
563563var booleanGuard : Bool { false }
564564var booleanGuard2 : Bool { false }
565565
566- // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
566+ // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
567567// CHECK: bb0([[ARG:%.*]] : @guaranteed
568568// CHECK: [[COPY_ARG:%.*]] = copy_value [[ARG]]
569569// CHECK: [[MARKED_VALUE:%.*]] = mark_must_check [no_consume_or_assign] [[COPY_ARG]]
@@ -620,8 +620,8 @@ var booleanGuard2: Bool { false }
620620//
621621// CHECK: [[BB_CONT]]:
622622// CHECK: destroy_value [[MARKED_VALUE]]
623- // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF '
624- func enumSwitchTest1( _ e: __shared EnumSwitchTests. E ) {
623+ // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF '
624+ func enumSwitchTest1( _ e: borrowing EnumSwitchTests . E ) {
625625 switch e {
626626 case . first:
627627 break
0 commit comments