@@ -198,7 +198,7 @@ bb0(%0 : $SinglePayloadNontrivial):
198
198
199
199
200
200
// -- NoPayload getExtraInhabitants
201
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics9NoPayloadOwxg"
201
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics9NoPayloadOwxg"
202
202
// CHECK: [[VALUE:%.*]] = load i8, i8* {{%.*}}, align 1
203
203
// CHECK-NEXT: [[ZEXT:%.*]] = zext i8 [[VALUE]] to i32
204
204
// CHECK-NEXT: [[SUB:%.*]] = sub i32 [[ZEXT]], 3
@@ -208,7 +208,7 @@ bb0(%0 : $SinglePayloadNontrivial):
208
208
209
209
210
210
// -- NoPayload getEnumTag
211
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics9NoPayloadOwug"
211
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics9NoPayloadOwug"
212
212
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics9NoPayloadO*
213
213
// CHECK-NEXT: [[TAG_ADDR:%.*]] = getelementptr inbounds %T20enum_value_semantics9NoPayloadO, %T20enum_value_semantics9NoPayloadO* [[SELF]], i32 0, i32 0
214
214
// CHECK-NEXT: [[TAG:%.*]] = load i8, i8* [[TAG_ADDR]], align 1
@@ -217,12 +217,12 @@ bb0(%0 : $SinglePayloadNontrivial):
217
217
218
218
219
219
// -- NoPayload destructiveProjectEnumData
220
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics9NoPayloadOwup"
220
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics9NoPayloadOwup"
221
221
// CHECK: ret void
222
222
223
223
224
224
// -- NoPayload destructiveInjectEnumTag
225
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics9NoPayloadOwui"
225
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics9NoPayloadOwui"
226
226
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics9NoPayloadO*
227
227
// CHECK-NEXT: [[TAG:%.*]] = trunc i32 %tag to i8
228
228
// CHECK-NEXT: [[TAG_ADDR:%.*]] = getelementptr inbounds %T20enum_value_semantics9NoPayloadO, %T20enum_value_semantics9NoPayloadO* [[SELF]], i32 0, i32 0
@@ -236,32 +236,32 @@ bb0(%0 : $SinglePayloadNontrivial):
236
236
237
237
238
238
// -- SingletonPayload getEnumTag
239
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics16SingletonPayloadOwug"
239
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics16SingletonPayloadOwug"
240
240
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics16SingletonPayloadO*
241
241
// CHECK-NEXT: ret i32 0
242
242
243
243
244
244
// -- SingletonPayload destructiveProjectEnumData
245
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics16SingletonPayloadOwup"
245
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics16SingletonPayloadOwup"
246
246
// CHECK: ret void
247
247
248
248
249
249
// -- SingletonPayload destructiveInjectEnumTag
250
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics16SingletonPayloadOwui"
250
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics16SingletonPayloadOwui"
251
251
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics16SingletonPayloadO*
252
252
// CHECK-NEXT: ret void
253
253
254
254
255
255
// -- SinglePayloadTrivial getEnumTag
256
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics20SinglePayloadTrivialOwug"
256
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics20SinglePayloadTrivialOwug"
257
257
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics20SinglePayloadTrivialO*
258
258
// CHECK: [[OPAQUE:%.*]] = bitcast %T20enum_value_semantics20SinglePayloadTrivialO* [[SELF]] to %swift.opaque*
259
259
// CHECK: [[TAG:%.*]] = call i32 %getEnumTagSinglePayload(%swift.opaque* noalias [[OPAQUE]], i32 3, %swift.type* getelementptr inbounds (%swift.full_type, %swift.full_type* @"$sBi64_N", i32 0, i32 1))
260
260
// CHECK: ret i32 [[TAG]]
261
261
262
262
263
263
// -- SinglePayloadTrivial destructiveProjectEnumData
264
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics20SinglePayloadTrivialOwup"
264
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics20SinglePayloadTrivialOwup"
265
265
// CHECK: ret void
266
266
267
267
@@ -271,15 +271,15 @@ bb0(%0 : $SinglePayloadNontrivial):
271
271
272
272
273
273
// -- SinglePayloadTrivial destructiveInjectEnumTag
274
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics20SinglePayloadTrivialOwui"
274
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics20SinglePayloadTrivialOwui"
275
275
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics20SinglePayloadTrivialO*
276
276
// CHECK-NEXT: [[OPAQUE:%.*]] = bitcast %T20enum_value_semantics20SinglePayloadTrivialO* [[SELF]] to %swift.opaque*
277
277
// CHECK: call void %storeEnumTagSinglePayload(%swift.opaque* noalias [[OPAQUE]], i32 %tag, i32 3, %swift.type* getelementptr inbounds (%swift.full_type, %swift.full_type* @"$sBi64_N", i32 0, i32 1))
278
278
// CHECK-NEXT: ret void
279
279
280
280
281
281
// -- SinglePayloadNontrivial destroyBuffer
282
- // CHECK: define linkonce_odr hidden void @"$s20enum_value_semantics23SinglePayloadNontrivialOwxx"(%swift.opaque* noalias [[OBJ:%.*]], %swift.type* %SinglePayloadNontrivial) {{.*}} {
282
+ // CHECK: define internal void @"$s20enum_value_semantics23SinglePayloadNontrivialOwxx"(%swift.opaque* noalias [[OBJ:%.*]], %swift.type* %SinglePayloadNontrivial) {{.*}} {
283
283
// CHECK: [[ADDR:%.*]] = bitcast %swift.opaque* [[OBJ]] to %T20enum_value_semantics23SinglePayloadNontrivialO*
284
284
// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = bitcast %T20enum_value_semantics23SinglePayloadNontrivialO* [[ADDR]] to i64*
285
285
// CHECK-NEXT: [[PAYLOAD:%.*]] = load i64, i64* [[PAYLOAD_ADDR]], align 8
@@ -309,7 +309,7 @@ bb0(%0 : $SinglePayloadNontrivial):
309
309
310
310
311
311
// -- MultiPayloadTrivial getEnumTag
312
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics19MultiPayloadTrivialOwug"
312
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics19MultiPayloadTrivialOwug"
313
313
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics19MultiPayloadTrivialO*
314
314
// CHECK-NEXT: [[PAYLOAD:%.*]] = bitcast %T20enum_value_semantics19MultiPayloadTrivialO* [[SELF]] to i64*
315
315
@@ -334,12 +334,12 @@ bb0(%0 : $SinglePayloadNontrivial):
334
334
// CHECK-NEXT: ret i32 [[TAG]]
335
335
336
336
// -- MultiPayloadTrivial destructiveProjectEnumData
337
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics19MultiPayloadTrivialOwup"
337
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics19MultiPayloadTrivialOwup"
338
338
// CHECK: ret void
339
339
340
340
341
341
// -- MultiPayloadTrivial destructiveInjectEnumTag
342
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics19MultiPayloadTrivialOwui"
342
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics19MultiPayloadTrivialOwui"
343
343
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics19MultiPayloadTrivialO*
344
344
// CHECK-NEXT: [[IS_PAYLOAD:%.*]] = icmp uge i32 %tag, 2
345
345
// CHECK-NEXT: br i1 [[IS_PAYLOAD]], label %[[HAS_NO_PAYLOAD:.*]], label %[[HAS_PAYLOAD:.*]]
@@ -379,7 +379,7 @@ bb0(%0 : $SinglePayloadNontrivial):
379
379
380
380
381
381
// -- MultiPayloadNoEmptyCases getEnumTag
382
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics24MultiPayloadNoEmptyCasesOwug"
382
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics24MultiPayloadNoEmptyCasesOwug"
383
383
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics24MultiPayloadNoEmptyCasesO*
384
384
// CHECK-NEXT: [[PAYLOAD:%.*]] = bitcast %T20enum_value_semantics24MultiPayloadNoEmptyCasesO* [[SELF]] to i64*
385
385
// CHECK-NEXT: [[NO_PAYLOAD_TAG_TMP:%.*]] = load i64, i64* [[PAYLOAD]], align 8
@@ -393,12 +393,12 @@ bb0(%0 : $SinglePayloadNontrivial):
393
393
// CHECK-NEXT: ret i32 [[EXTRA_TAG]]
394
394
395
395
// -- MultiPayloadNoEmptyCases destructiveProjectEnumData
396
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics24MultiPayloadNoEmptyCasesOwup"
396
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics24MultiPayloadNoEmptyCasesOwup"
397
397
// CHECK: ret void
398
398
399
399
400
400
// -- MultiPayloadNoEmptyCases destructiveInjectEnumTag
401
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics24MultiPayloadNoEmptyCasesOwui"
401
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics24MultiPayloadNoEmptyCasesOwui"
402
402
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics24MultiPayloadNoEmptyCasesO*
403
403
// CHECK-NEXT: [[TAG:%.*]] = trunc i32 %tag to i1
404
404
@@ -415,7 +415,7 @@ bb0(%0 : $SinglePayloadNontrivial):
415
415
416
416
417
417
// -- MultiPayloadEmptyPayload getEnumTag
418
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics017MultiPayloadEmptyE0Owug"
418
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics017MultiPayloadEmptyE0Owug"
419
419
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics017MultiPayloadEmptyE0O*
420
420
421
421
// -- Load the tag from the extra tag area
@@ -426,12 +426,12 @@ bb0(%0 : $SinglePayloadNontrivial):
426
426
427
427
428
428
// -- MultiPayloadEmptyPayload destructiveProjectEnumData
429
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics017MultiPayloadEmptyE0Owup"
429
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics017MultiPayloadEmptyE0Owup"
430
430
// CHECK: ret void
431
431
432
432
433
433
// -- MultiPayloadEmptyPayload destructiveInjectEnumTag
434
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics017MultiPayloadEmptyE0Owui"
434
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics017MultiPayloadEmptyE0Owui"
435
435
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics017MultiPayloadEmptyE0O*
436
436
437
437
// -- Store the tag in the extra tag area
@@ -447,7 +447,7 @@ bb0(%0 : $SinglePayloadNontrivial):
447
447
448
448
449
449
// -- MultiPayloadNontrivial destroyBuffer
450
- // CHECK: define linkonce_odr hidden void @"$s20enum_value_semantics22MultiPayloadNontrivialOwxx"(%swift.opaque* noalias [[OBJ:%.*]], %swift.type* %MultiPayloadNontrivial)
450
+ // CHECK: define internal void @"$s20enum_value_semantics22MultiPayloadNontrivialOwxx"(%swift.opaque* noalias [[OBJ:%.*]], %swift.type* %MultiPayloadNontrivial)
451
451
// CHECK: [[ADDR:%.*]] = bitcast %swift.opaque* [[OBJ]] to %T20enum_value_semantics22MultiPayloadNontrivialO*
452
452
// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = bitcast %T20enum_value_semantics22MultiPayloadNontrivialO* [[ADDR]] to { i64, i64 }*
453
453
// CHECK-NEXT: [[PAYLOAD_0_ADDR:%.*]] = getelementptr
@@ -466,18 +466,18 @@ bb0(%0 : $SinglePayloadNontrivial):
466
466
//
467
467
468
468
469
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics19MultiPayloadGenericOwug"
469
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics19MultiPayloadGenericOwug"
470
470
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics19MultiPayloadGenericO*
471
471
// CHECK-NEXT: [[OPAQUE:%.*]] = bitcast %T20enum_value_semantics19MultiPayloadGenericO* [[SELF]] to %swift.opaque*
472
472
// CHECK-NEXT: [[TAG:%.*]] = call i32 @swift_getEnumCaseMultiPayload(%swift.opaque* [[OPAQUE]], %swift.type* %"MultiPayloadGeneric<T>")
473
473
// CHECK-NEXT: ret i32 [[TAG]]
474
474
475
475
476
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics19MultiPayloadGenericOwup"
476
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics19MultiPayloadGenericOwup"
477
477
// CHECK: ret void
478
478
479
479
480
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics19MultiPayloadGenericOwui"
480
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics19MultiPayloadGenericOwui"
481
481
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics19MultiPayloadGenericO*
482
482
// CHECK: [[OPAQUE:%.*]] = bitcast %T20enum_value_semantics19MultiPayloadGenericO* [[SELF]] to %swift.opaque*
483
483
// CHECK-NEXT: call void @swift_storeEnumTagMultiPayload(%swift.opaque* [[OPAQUE]], %swift.type* %"MultiPayloadGeneric<T>", i32 %tag)
@@ -490,7 +490,7 @@ bb0(%0 : $SinglePayloadNontrivial):
490
490
491
491
492
492
// -- MultiPayloadNontrivialSpareBits destroyBuffer
493
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwxx"
493
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwxx"
494
494
// CHECK-SAME: (%swift.opaque* noalias [[OBJ:%.*]], %swift.type* %MultiPayloadNontrivialSpareBits) {{.*}} {
495
495
// CHECK: [[ADDR:%.*]] = bitcast %swift.opaque* [[OBJ]] to %T20enum_value_semantics31MultiPayloadNontrivialSpareBitsO*
496
496
// CHECK-NEXT: [[PAYLOAD_ADDR:%.*]] = bitcast %T20enum_value_semantics31MultiPayloadNontrivialSpareBitsO* [[ADDR]] to { i64, i64 }*
@@ -502,7 +502,7 @@ bb0(%0 : $SinglePayloadNontrivial):
502
502
// CHECK-NEXT: ret void
503
503
504
504
505
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwug"
505
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwug"
506
506
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics31MultiPayloadNontrivialSpareBitsO*
507
507
508
508
// -- Load the payload
@@ -529,7 +529,7 @@ bb0(%0 : $SinglePayloadNontrivial):
529
529
// CHECK-NEXT: [[TAG:%.*]] = select i1 [[IS_PAYLOAD]], i32 [[NO_PAYLOAD_TAG2]], i32 [[SPARE_TAG]]
530
530
// CHECK-NEXT: ret i32 [[TAG]]
531
531
532
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwup"
532
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwup"
533
533
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to { i64, i64 }*
534
534
535
535
// -- Load the payload
@@ -550,7 +550,7 @@ bb0(%0 : $SinglePayloadNontrivial):
550
550
// CHECK-NEXT: ret void
551
551
552
552
553
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwui"
553
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics31MultiPayloadNontrivialSpareBitsOwui"
554
554
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics31MultiPayloadNontrivialSpareBitsO*
555
555
// CHECK-NEXT: [[IS_PAYLOAD:%.*]] = icmp uge i32 %tag, 3
556
556
// CHECK-NEXT: br i1 [[IS_PAYLOAD]], label %[[HAS_NO_PAYLOAD:.*]], label %[[HAS_PAYLOAD:.*]]
@@ -609,7 +609,7 @@ bb0(%0 : $SinglePayloadNontrivial):
609
609
// CHECK-NEXT: ret void
610
610
611
611
612
- // CHECK-LABEL: define linkonce_odr hidden i32 @"$s20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0Owug"
612
+ // CHECK-LABEL: define internal i32 @"$s20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0Owug"
613
613
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0O*
614
614
615
615
// -- Load the payload
@@ -634,7 +634,7 @@ bb0(%0 : $SinglePayloadNontrivial):
634
634
// CHECK-NEXT: ret i32 [[RESULT]]
635
635
636
636
637
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0Owup"
637
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0Owup"
638
638
// CHECK: [[PAYLOAD_ADDR:%.*]] = bitcast %swift.opaque* %value to i64*
639
639
// CHECK-NEXT: [[PAYLOAD:%.*]] = load i64, i64* [[PAYLOAD_ADDR]], align 8
640
640
// -- 0x7fffffffffffffff
@@ -644,7 +644,7 @@ bb0(%0 : $SinglePayloadNontrivial):
644
644
// CHECK-NEXT: ret void
645
645
646
646
647
- // CHECK-LABEL: define linkonce_odr hidden void @"$s20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0Owui"
647
+ // CHECK-LABEL: define internal void @"$s20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0Owui"
648
648
// CHECK: [[SELF:%.*]] = bitcast %swift.opaque* %value to %T20enum_value_semantics029MultiPayloadSpareBitsAndExtraG0O*
649
649
// CHECK-NEXT: [[SPARE_TAG_TMP3:%.*]] = and i32 %tag, 1
650
650
0 commit comments