@@ -47,13 +47,13 @@ public enum NonTrivialEnum {
47
47
var varGlobal = NonTrivialStruct ( )
48
48
let letGlobal = NonTrivialStruct ( )
49
49
50
- public func borrowVal( _ e : NonTrivialEnum ) { }
51
- public func borrowVal( _ e : FD ) { }
52
- public func borrowVal( _ k: CopyableKlass ) { }
53
- public func borrowVal( _ k: NonTrivialCopyableStruct ) { }
54
- public func borrowVal( _ k: NonTrivialCopyableStruct2 ) { }
55
- public func borrowVal( _ s: NonTrivialStruct ) { }
56
- public func borrowVal( _ s: NonTrivialStruct2 ) { }
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 ) { }
57
57
58
58
public func consumeVal( _ e : __owned NonTrivialEnum) { }
59
59
public func consumeVal( _ e : __owned FD) { }
@@ -71,12 +71,12 @@ public func consumeVal(_ s: __owned NonTrivialStruct2) {}
71
71
// Function Arguments
72
72
//
73
73
74
- // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
74
+ // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VhF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
75
75
// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialStruct):
76
76
// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
77
77
// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
78
- // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VF '
79
- public func useNonTrivialStruct( _ s: NonTrivialStruct ) {
78
+ // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VhF '
79
+ public func useNonTrivialStruct( _ s: __shared NonTrivialStruct) {
80
80
borrowVal ( s)
81
81
let s2 = s
82
82
let k = s. fd
@@ -99,12 +99,12 @@ public func useNonTrivialOwnedStruct(_ s: __owned NonTrivialStruct) {
99
99
let _ = s2
100
100
}
101
101
102
- // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
102
+ // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
103
103
// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialEnum):
104
104
// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
105
105
// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
106
- // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OF '
107
- public func useNonTrivialEnum( _ s: NonTrivialEnum ) {
106
+ // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF '
107
+ public func useNonTrivialEnum( _ s: __shared NonTrivialEnum) {
108
108
borrowVal ( s)
109
109
let s2 = s
110
110
switch s {
@@ -256,7 +256,7 @@ func blackHoleVarInitialization3() {
256
256
// CHECK-LABEL: sil hidden [ossa] @$s8moveonly24borrowObjectFunctionCallyyF : $@convention(thin) () -> () {
257
257
// CHECK: [[CLS:%.*]] = mark_must_check [consumable_and_assignable]
258
258
// CHECK: [[BORROW:%.*]] = begin_borrow [[CLS]]
259
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
259
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
260
260
// CHECK: apply [[FN]]([[BORROW]])
261
261
// CHECK: end_borrow [[BORROW]]
262
262
// CHECK: } // end sil function '$s8moveonly24borrowObjectFunctionCallyyF'
@@ -269,7 +269,7 @@ func borrowObjectFunctionCall() {
269
269
// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [consumable_and_assignable]
270
270
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[MARKED_ADDR]]
271
271
// CHECK: [[BORROW:%.*]] = load_borrow [[ACCESS]]
272
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVF :
272
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVhF :
273
273
// CHECK: apply [[FN]]([[BORROW]])
274
274
// CHECK: end_borrow [[BORROW]]
275
275
// CHECK: end_access [[ACCESS]]
@@ -285,7 +285,7 @@ func moveOnlyStructNonConsumingUse() {
285
285
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[MARKED_ADDR]]
286
286
// CHECK: [[GEP:%.*]] = struct_element_addr [[ACCESS]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialStruct2
287
287
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP]]
288
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
288
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VhF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
289
289
// CHECK: apply [[FN]]([[BORROW]])
290
290
// CHECK: end_borrow [[BORROW]]
291
291
// CHECK: end_access [[ACCESS]]
@@ -302,7 +302,7 @@ func moveOnlyStructMoveOnlyStructNonConsumingUse() {
302
302
// CHECK: [[GEP1:%.*]] = struct_element_addr [[ACCESS]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialStruct2
303
303
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialStruct2, #NonTrivialStruct2.copyableKlass
304
304
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP2]]
305
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
305
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
306
306
// CHECK: apply [[FN]]([[BORROW]])
307
307
// CHECK: end_borrow [[BORROW]]
308
308
// CHECK: end_access [[ACCESS]]
@@ -318,7 +318,7 @@ func moveOnlyStructMoveOnlyStructCopyableKlassNonConsumingUse() {
318
318
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[MARKED_ADDR]]
319
319
// CHECK: [[GEP:%.*]] = struct_element_addr [[ACCESS]] : $*NonTrivialStruct, #NonTrivialStruct.copyableKlass
320
320
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP]]
321
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
321
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
322
322
// CHECK: apply [[FN]]([[BORROW]])
323
323
// CHECK: end_borrow [[BORROW]]
324
324
// CHECK: end_access [[ACCESS]]
@@ -334,7 +334,7 @@ func moveOnlyStructCopyableKlassNonConsumingUse() {
334
334
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[MARKED_ADDR]]
335
335
// CHECK: [[GEP:%.*]] = struct_element_addr [[ACCESS]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialCopyableStruct
336
336
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP]]
337
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVF :
337
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVhF :
338
338
// CHECK: apply [[FN]]([[BORROW]])
339
339
// CHECK: end_borrow [[BORROW]]
340
340
// CHECK: end_access [[ACCESS]]
@@ -351,7 +351,7 @@ func moveOnlyStructCopyableStructNonConsumingUse() {
351
351
// CHECK: [[GEP1:%.*]] = struct_element_addr [[ACCESS]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialCopyableStruct
352
352
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.copyableKlass
353
353
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP2]]
354
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
354
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
355
355
// CHECK: apply [[FN]]([[BORROW]])
356
356
// CHECK: end_borrow [[BORROW]]
357
357
// CHECK: end_access [[ACCESS]]
@@ -368,7 +368,7 @@ func moveOnlyStructCopyableStructCopyableKlassNonConsumingUse() {
368
368
// CHECK: [[GEP1:%.*]] = struct_element_addr [[ACCESS]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialCopyableStruct
369
369
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.nonTrivialCopyableStruct2
370
370
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP2]]
371
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VF :
371
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VhF :
372
372
// CHECK: apply [[FN]]([[BORROW]])
373
373
// CHECK: end_borrow [[BORROW]]
374
374
// CHECK: end_access [[ACCESS]]
@@ -386,7 +386,7 @@ func moveOnlyStructCopyableStructCopyableStructNonConsumingUse() {
386
386
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.nonTrivialCopyableStruct2
387
387
// CHECK: [[GEP3:%.*]] = struct_element_addr [[GEP2]] : $*NonTrivialCopyableStruct2, #NonTrivialCopyableStruct2.copyableKlass
388
388
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP3]]
389
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
389
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
390
390
// CHECK: apply [[FN]]([[BORROW]])
391
391
// CHECK: end_borrow [[BORROW]]
392
392
// CHECK: end_access [[ACCESS]]
@@ -412,7 +412,7 @@ func moveOnlyStructCopyableStructCopyableStructCopyableKlassNonConsumingUse() {
412
412
// CHECK: [[FIELD_MARK:%.*]] = mark_must_check [no_consume_or_assign] [[FIELD]]
413
413
// CHECK: [[ACCESS:%.*]] = begin_access [read] [dynamic] [[FIELD_MARK]]
414
414
// CHECK: [[BORROWED_MOVEONLY_KLASS:%.*]] = load_borrow [[ACCESS]]
415
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
415
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
416
416
// CHECK: apply [[FN]]([[BORROWED_MOVEONLY_KLASS]])
417
417
// CHECK: end_borrow [[BORROWED_MOVEONLY_KLASS]]
418
418
// CHECK: destroy_value [[COPYABLE_KLASS]]
@@ -448,7 +448,7 @@ func consumeVal(_ e: __owned EnumSwitchTests.E2) {}
448
448
var booleanGuard : Bool { false }
449
449
var booleanGuard2 : Bool { false }
450
450
451
- // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
451
+ // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
452
452
// CHECK: bb0([[ARG:%.*]] : @guaranteed
453
453
// CHECK: [[COPY_ARG:%.*]] = copy_value [[ARG]]
454
454
// CHECK: [[MARKED_VALUE:%.*]] = mark_must_check [no_consume_or_assign] [[COPY_ARG]]
@@ -499,8 +499,8 @@ var booleanGuard2: Bool { false }
499
499
//
500
500
// CHECK: [[BB_CONT]]:
501
501
// CHECK: destroy_value [[MARKED_VALUE]]
502
- // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF '
503
- func enumSwitchTest1( _ e: EnumSwitchTests . E ) {
502
+ // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF '
503
+ func enumSwitchTest1( _ e: __shared EnumSwitchTests. E ) {
504
504
switch e {
505
505
case . first:
506
506
break
0 commit comments