Skip to content

Commit 1bd425d

Browse files
committed
[arm64e] Test changes to support arm64e
1 parent 84c4864 commit 1bd425d

File tree

113 files changed

+1923
-471
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+1923
-471
lines changed

test/IRGen/Inputs/ptrauth-foreign.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
struct IntPair {
2+
int x;
3+
int y;
4+
};
5+
6+
__attribute__((objc_root_class))
7+
@interface Root
8+
@end
9+
10+
@interface ObjCWidget : Root
11+
@end
12+
13+
typedef struct __attribute__((objc_bridge(ObjCWidget))) __widget *WidgetRef;

test/IRGen/abitypes.swift

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import Foundation
1414

1515
// armv7s-ios: [[ARMV7S_MYRECT:%.*]] = type { float, float, float, float }
1616
// arm64-ios: [[ARM64_MYRECT:%.*]] = type { float, float, float, float }
17+
// arm64e-ios: [[ARM64E_MYRECT:%.*]] = type { float, float, float, float }
1718
// arm64-tvos: [[ARM64_MYRECT:%.*]] = type { float, float, float, float }
1819
// armv7k-watchos: [[ARMV7K_MYRECT:%.*]] = type { float, float, float, float }
1920

@@ -275,6 +276,11 @@ class Foo {
275276
// arm64-ios-fixme: [[R2:%[0-9]+]] = call i1 @"$s8abitypes3FooC6negate{{[_0-9a-zA-Z]*}}F"
276277
// arm64-ios-fixme: ret i1 [[R2]]
277278
//
279+
// arm64e-ios-fixme: define hidden i1 @"$s8abitypes3FooC6negate{{[_0-9a-zA-Z]*}}F"(i1, %T8abitypes3FooC*) {{.*}} {
280+
// arm64e-ios-fixme: define internal zeroext i1 @"$s8abitypes3FooC6negate{{[_0-9a-zA-Z]*}}FTo"
281+
// arm64e-ios-fixme: [[R2:%[0-9]+]] = call i1 @"$s8abitypes3FooC6negate{{[_0-9a-zA-Z]*}}F"
282+
// arm64e-ios-fixme: ret i1 [[R2]]
283+
//
278284
// i386-ios-fixme: define hidden i1 @"$s8abitypes3FooC6negate{{[_0-9a-zA-Z]*}}F"(i1, %T8abitypes3FooC*) {{.*}} {
279285
// i386-ios-fixme: define internal signext i8 @"$s8abitypes3FooC6negate{{[_0-9a-zA-Z]*}}FTo"(i8*, i8*, i8 signext) {{[#0-9]*}} {
280286
// i386-ios-fixme: [[R1:%[0-9]+]] = call i1 @"$s10ObjectiveC22_convertObjCBoolToBool{{[_0-9a-zA-Z]*}}F"
@@ -364,6 +370,11 @@ class Foo {
364370
// arm64-ios: [[TOOBJCBOOL:%[0-9]+]] = call swiftcc i1 @"$s10ObjectiveC22_convertBoolToObjCBool{{[_0-9a-zA-Z]*}}F"(i1 [[NEG]])
365371
// arm64-ios: ret i1 [[TOOBJCBOOL]]
366372
//
373+
// arm64e-ios: define hidden zeroext i1 @"$s8abitypes3FooC7negate2{{[_0-9a-zA-Z]*}}FTo"(i8* %0, i8* %1, i1 zeroext %2)
374+
// arm64e-ios: [[NEG:%[0-9]+]] = call swiftcc i1 @"$s8abitypes3FooC7negate2{{[_0-9a-zA-Z]*}}F"(i1
375+
// arm64e-ios: [[TOOBJCBOOL:%[0-9]+]] = call swiftcc i1 @"$s10ObjectiveC22_convertBoolToObjCBool{{[_0-9a-zA-Z]*}}F"(i1 [[NEG]])
376+
// arm64e-ios: ret i1 [[TOOBJCBOOL]]
377+
//
367378
// i386-ios: define hidden swiftcc i1 @"$s8abitypes3FooC7negate2{{[_0-9a-zA-Z]*}}F"(i1 %0, %T8abitypes3FooC* swiftself %1) {{.*}} {
368379
// i386-ios: [[TOOBJCBOOL:%[0-9]+]] = call swiftcc i8 @"$s10ObjectiveC22_convertBoolToObjCBool{{[_0-9a-zA-Z]*}}F"(i1 %0)
369380
// i386-ios: [[SEL:%[0-9]+]] = load i8*, i8** @"\01L_selector(negate:)", align 4
@@ -516,6 +527,9 @@ class Foo {
516527
// arm64-ios: define hidden swiftcc { i64, i64, i64, i64 } @"$s8abitypes3FooC14callJustReturn{{[_0-9a-zA-Z]*}}F"(%TSo13StructReturnsC* %0, i64 %1, i64 %2, i64 %3, i64 %4, %T8abitypes3FooC* swiftself %5) {{.*}} {
517528
// arm64-ios: define hidden void @"$s8abitypes3FooC14callJustReturn{{[_0-9a-zA-Z]*}}FTo"(%TSo9BigStructV* noalias nocapture sret %0, i8* %1, i8* %2, [[OPAQUE:.*]]* %3, %TSo9BigStructV* %4) {{[#0-9]*}} {
518529
//
530+
// arm64e-ios: define hidden swiftcc { i64, i64, i64, i64 } @"$s8abitypes3FooC14callJustReturn{{[_0-9a-zA-Z]*}}F"(%TSo13StructReturnsC* %0, i64 %1, i64 %2, i64 %3, i64 %4, %T8abitypes3FooC* swiftself %5) {{.*}} {
531+
// arm64e-ios: define hidden void @"$s8abitypes3FooC14callJustReturn{{[_0-9a-zA-Z]*}}FTo"(%TSo9BigStructV* noalias nocapture sret %0, i8* %1, i8* %2, [[OPAQUE:.*]]* %3, %TSo9BigStructV* %4) {{.*}} {
532+
//
519533
// arm64-tvos: define hidden swiftcc { i64, i64, i64, i64 } @"$s8abitypes3FooC14callJustReturn{{[_0-9a-zA-Z]*}}F"(%TSo13StructReturnsC* %0, i64 %1, i64 %2, i64 %3, i64 %4, %T8abitypes3FooC* swiftself %5) {{.*}} {
520534
// arm64-tvos: define hidden void @"$s8abitypes3FooC14callJustReturn{{[_0-9a-zA-Z]*}}FTo"(%TSo9BigStructV* noalias nocapture sret %0, i8* %1, i8* %2, [[OPAQUE:.*]]* %3, %TSo9BigStructV* %4) {{[#0-9]*}} {
521535
@objc dynamic func callJustReturn(_ r: StructReturns, with v: BigStruct) -> BigStruct {
@@ -561,6 +575,16 @@ public func testInlineAgg(_ rect: MyRect) -> Float {
561575
// arm64-ios: store i1 false, i1* [[PTR2]], align 8
562576
// arm64-ios: [[ARG:%.*]] = load i64, i64* [[COERCED]]
563577
// arm64-ios: call void bitcast (void ()* @objc_msgSend to void (i8*, i8*, i64)*)(i8* {{.*}}, i8* {{.*}}, i64 [[ARG]])
578+
//
579+
// arm64e-ios: define swiftcc void @"$s8abitypes14testBOOLStructyyF"()
580+
// arm64e-ios: [[COERCED:%.*]] = alloca i64
581+
// arm64e-ios: [[STRUCTPTR:%.*]] = bitcast i64* [[COERCED]] to %TSo14FiveByteStructV
582+
// arm64e-ios: [[PTR0:%.*]] = getelementptr inbounds %TSo14FiveByteStructV, %TSo14FiveByteStructV* [[STRUCTPTR]], {{i.*}} 0, {{i.*}} 0
583+
// arm64e-ios: [[PTR1:%.*]] = getelementptr inbounds %T10ObjectiveC8ObjCBoolV, %T10ObjectiveC8ObjCBoolV* [[PTR0]], {{i.*}} 0, {{i.*}} 0
584+
// arm64e-ios: [[PTR2:%.*]] = getelementptr inbounds %TSb, %TSb* [[PTR1]], {{i.*}} 0, {{i.*}} 0
585+
// arm64e-ios: store i1 false, i1* [[PTR2]], align 8
586+
// arm64e-ios: [[ARG:%.*]] = load i64, i64* [[COERCED]]
587+
// arm64e-ios: call void bitcast (void ()* @objc_msgSend to void (i8*, i8*, i64)*)(i8* {{.*}}, i8* {{.*}}, i64 [[ARG]])
564588
public func testBOOLStruct() {
565589
let s = FiveByteStruct()
566590
MyClass.mymethod(s)

test/IRGen/associated_type_witness.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ protocol HasThreeAssocTypes {
4141
// GLOBAL-SAME: @"$s23associated_type_witness13WithUniversalVAA8AssockedAAMc"
4242
// GLOBAL-SAME: @"associated conformance 23associated_type_witness13WithUniversalVAA8AssockedAA5AssocAaDP_AA1P",
4343
// GLOBAL-SAME: @"associated conformance 23associated_type_witness13WithUniversalVAA8AssockedAA5AssocAaDP_AA1Q"
44-
// GLOBAL-SAME: i64 add (i64 ptrtoint (<{ {{.*}} }>* @"symbolic{{.*}}23associated_type_witness9UniversalV" to i64), i64 1) to i8*)
44+
// GLOBAL-SAME: @"symbolic{{.*}}23associated_type_witness9UniversalV"
4545
// GLOBAL-SAME: ]
4646
struct WithUniversal : Assocked {
4747
typealias Assoc = Universal

test/IRGen/autorelease.sil

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ bb0(%0 : @owned $C?):
4646
// arm64-NEXT: [[T3:%.*]] = ptrtoint i8* [[T2]] to i64
4747
// arm64-NEXT: ret i64 [[T3]]
4848

49+
// arm64e: define{{( dllexport| protected)?}} swiftcc i64 @bar(i64 %0)
50+
// arm64e: [[T0:%.*]] = call swiftcc i64 @foo(i64 %0)
51+
// arm64e-NEXT: call void asm sideeffect "mov
52+
// arm64e-NEXT: [[T1:%.*]] = inttoptr i64 [[T0]] to i8*
53+
// arm64e-NEXT: [[T2:%.*]] = call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* [[T1]])
54+
// arm64e-NEXT: [[T3:%.*]] = ptrtoint i8* [[T2]] to i64
55+
// arm64e-NEXT: ret i64 [[T3]]
56+
4957
// aarch64: define{{( dllexport| protected)?}} swiftcc i64 @bar(i64 %0)
5058
// aarch64: [[T0:%.*]] = call swiftcc i64 @foo(i64 %0)
5159
// aarch64-NEXT: call void asm sideeffect "mov

test/IRGen/c_functions.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ func test_indirect_by_val_alignment() {
2828

2929
// aarch64: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()
3030
// arm64: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()
31+
// arm64e: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()
3132
// armv7k: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()
3233
// armv7s: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()
3334
// armv7: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()

test/IRGen/c_layout.sil

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,22 @@ bb0:
249249
// CHECK-arm64-LABEL: declare{{( dllimport)?}} i32 @ints(i32)
250250
// CHECK-arm64-LABEL: declare{{( dllimport)?}} i32 @unsigneds(i32)
251251

252+
// CHECK-arm64e-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @testIntegerExtension
253+
// CHECK-arm64e: call signext i8 @chareth(i8 signext
254+
// CHECK-arm64e: call signext i8 @signedChareth(i8 signext
255+
// CHECK-arm64e: call zeroext i8 @unsignedChareth(i8 zeroext
256+
// CHECK-arm64e: call signext i16 @eatMyShorts(i16 signext
257+
// CHECK-arm64e: call zeroext i16 @eatMyUnsignedShorts(i16 zeroext
258+
// CHECK-arm64e: call i32 @ints(i32 %5)
259+
// CHECK-arm64e: call i32 @unsigneds(i32 %6)
260+
// CHECK-arm64e-LABEL: declare{{( dllimport)?}} signext i8 @chareth(i8 signext)
261+
// CHECK-arm64e-LABEL: declare{{( dllimport)?}} signext i8 @signedChareth(i8 signext)
262+
// CHECK-arm64e-LABEL: declare{{( dllimport)?}} zeroext i8 @unsignedChareth(i8 zeroext)
263+
// CHECK-arm64e-LABEL: declare{{( dllimport)?}} signext i16 @eatMyShorts(i16 signext)
264+
// CHECK-arm64e-LABEL: declare{{( dllimport)?}} zeroext i16 @eatMyUnsignedShorts(i16 zeroext)
265+
// CHECK-arm64e-LABEL: declare{{( dllimport)?}} i32 @ints(i32)
266+
// CHECK-arm64e-LABEL: declare{{( dllimport)?}} i32 @unsigneds(i32)
267+
252268
// CHECK-aarch64-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @testIntegerExtension
253269
// CHECK-aarch64: call i8 @chareth(i8 %0)
254270
// CHECK-aarch64: call i8 @signedChareth(i8 %1)

test/IRGen/class_metadata.swift

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// RUN: %empty-directory(%t)
22
// RUN: %{python} %utils/chex.py < %s > %t/class_metadata.swift
3-
// RUN: %target-swift-frontend -emit-ir %s | %FileCheck %t/class_metadata.swift -check-prefix=CHECK -check-prefix=CHECK-%target-ptrsize -check-prefix CHECK-%target-import-type
3+
// RUN: %target-swift-frontend -emit-ir %s | %FileCheck %t/class_metadata.swift -check-prefix=CHECK -check-prefix=CHECK-%target-ptrsize -check-prefix CHECK-%target-import-type -check-prefix=CHECK-%target-cpu
44

55
class A {}
66

@@ -32,9 +32,13 @@ class A {}
3232
// CHECK-64-SAME: i32 10,
3333
// V-table length.
3434
// CHECK-SAME: i32 1,
35-
// CHECK-SMAE: %swift.method_descriptor {
35+
// CHECK-SAME: %swift.method_descriptor {
3636
// V-table entry #1: flags.
37-
// CHECK-SAME: i32 1
37+
// CHECK-i386-SAME: i32 1,
38+
// CHECK-x86_64-SAME: i32 1,
39+
// CHECK-armv7k-SAME: i32 1,
40+
// CHECK-arm64-SAME: i32 1,
41+
// CHECK-arm64e-SAME: i32 1882783745
3842
// V-table entry #1: invocation function.
3943
// CHECK-SAME: @"$s14class_metadata1ACACycfC"
4044
// CHECK-SAME: }>, section

test/IRGen/class_resilience.swift

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// RUN: %target-swift-frontend -emit-module -enable-library-evolution -emit-module-path=%t/resilient_struct.swiftmodule -module-name=resilient_struct %S/../Inputs/resilient_struct.swift
44
// RUN: %target-swift-frontend -emit-module -enable-library-evolution -emit-module-path=%t/resilient_enum.swiftmodule -module-name=resilient_enum -I %t %S/../Inputs/resilient_enum.swift
55
// RUN: %target-swift-frontend -emit-module -enable-library-evolution -emit-module-path=%t/resilient_class.swiftmodule -module-name=resilient_class -I %t %S/../Inputs/resilient_class.swift
6-
// RUN: %target-swift-frontend -I %t -emit-ir -enable-library-evolution %t/class_resilience.swift | %FileCheck %t/class_resilience.swift --check-prefix=CHECK --check-prefix=CHECK-%target-ptrsize --check-prefix=CHECK-%target-runtime -DINT=i%target-ptrsize
6+
// RUN: %target-swift-frontend -I %t -emit-ir -enable-library-evolution %t/class_resilience.swift | %FileCheck %t/class_resilience.swift --check-prefix=CHECK --check-prefix=CHECK-%target-ptrsize --check-prefix=CHECK-%target-runtime -check-prefix=CHECK-%target-cpu --check-prefix=CHECK-DEP-TARGET-GTE-13_0-%target-mandates-deployment-target-gte-13.0 -DINT=i%target-ptrsize
77
// RUN: %target-swift-frontend -I %t -emit-ir -enable-library-evolution -O %t/class_resilience.swift
88

99
// CHECK: @"$s16class_resilience26ClassWithResilientPropertyC1s16resilient_struct4SizeVvpWvd" = hidden global [[INT]] 0
@@ -414,7 +414,8 @@ public class ClassWithResilientThenEmpty {
414414
// CHECK: dependency-satisfied:
415415

416416
// -- ClassLayoutFlags = 0x100 (HasStaticVTable)
417-
// CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @swift_initClassMetadata2(%swift.type* %0, [[INT]] 256, [[INT]] 3, i8*** [[FIELDS_PTR]], [[INT]]* [[FIELDS_DEST]])
417+
// CHECK-DEP-TARGET-GTE-13_0-TRUE: [[T0:%.*]] = call swiftcc %swift.metadata_response @swift_updateClassMetadata2(%swift.type* %0, [[INT]] 256, [[INT]] 3, i8*** [[FIELDS_PTR]], [[INT]]* [[FIELDS_DEST]])
418+
// CHECK-DEP-TARGET-GTE-13_0-FALSE:[[T0:%.*]] = call swiftcc %swift.metadata_response @swift_initClassMetadata2(%swift.type* %0, [[INT]] 256, [[INT]] 3, i8*** [[FIELDS_PTR]], [[INT]]* [[FIELDS_DEST]])
418419
// CHECK-NEXT: [[INITDEP_METADATA:%.*]] = extractvalue %swift.metadata_response [[T0]], 0
419420
// CHECK-NEXT: [[INITDEP_STATUS:%.*]] = extractvalue %swift.metadata_response [[T0]], 1
420421
// CHECK-NEXT: [[INITDEP_PRESENT:%.*]] = icmp eq %swift.type* [[INITDEP_METADATA]], null
@@ -490,7 +491,8 @@ public class ClassWithResilientThenEmpty {
490491
// CHECK: dependency-satisfied:
491492

492493
// -- ClassLayoutFlags = 0x100 (HasStaticVTable)
493-
// CHECK: [[T0:%.*]] = call swiftcc %swift.metadata_response @swift_initClassMetadata2(%swift.type* %0, [[INT]] 256, [[INT]] 2, i8*** [[FIELDS_PTR]], [[INT]]* [[FIELDS_DEST]])
494+
// CHECK-DEP-TARGET-GTE-13_0-TRUE: [[T0:%.*]] = call swiftcc %swift.metadata_response @swift_updateClassMetadata2(%swift.type* %0, [[INT]] 256, [[INT]] 2, i8*** [[FIELDS_PTR]], [[INT]]* [[FIELDS_DEST]])
495+
// CHECK-DEP-TARGET-GTE-13_0-FALSE: [[T0:%.*]] = call swiftcc %swift.metadata_response @swift_initClassMetadata2(%swift.type* %0, [[INT]] 256, [[INT]] 2, i8*** [[FIELDS_PTR]], [[INT]]* [[FIELDS_DEST]])
494496
// CHECK-NEXT: [[INITDEP_METADATA:%.*]] = extractvalue %swift.metadata_response [[T0]], 0
495497
// CHECK-NEXT: [[INITDEP_STATUS:%.*]] = extractvalue %swift.metadata_response [[T0]], 1
496498
// CHECK-NEXT: [[INITDEP_PRESENT:%.*]] = icmp eq %swift.type* [[INITDEP_METADATA]], null
@@ -542,6 +544,21 @@ public class ClassWithResilientThenEmpty {
542544
// CHECK-NEXT: ret i8* [[RESULT]]
543545
// CHECK-NEXT: }
544546

547+
// ResilientChild.field getter dispatch thunk
548+
549+
// CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i32 @"$s16class_resilience14ResilientChildC5fields5Int32VvgTj"(%T16class_resilience14ResilientChildC* swiftself %0)
550+
// CHECK: [[ISA_ADDR:%.*]] = getelementptr inbounds %T16class_resilience14ResilientChildC, %T16class_resilience14ResilientChildC* %0, i32 0, i32 0, i32 0
551+
// CHECK-NEXT: [[ISA:%.*]] = load %swift.type*, %swift.type** [[ISA_ADDR]]
552+
// CHECK-NEXT: [[BASE_ADDR:%.*]] = load [[INT]], [[INT]]* getelementptr inbounds ([[BOUNDS]], [[BOUNDS]]* @"$s16class_resilience14ResilientChildCMo", i32 0, i32 0)
553+
// CHECK-NEXT: [[BASE:%.*]] = add [[INT]] [[BASE_ADDR]], {{4|8}}
554+
// CHECK-NEXT: [[METADATA_BYTES:%.*]] = bitcast %swift.type* [[ISA]] to i8*
555+
// CHECK-NEXT: [[VTABLE_OFFSET_TMP:%.*]] = getelementptr inbounds i8, i8* [[METADATA_BYTES]], [[INT]] [[BASE]]
556+
// CHECK-NEXT: [[VTABLE_OFFSET_ADDR:%.*]] = bitcast i8* [[VTABLE_OFFSET_TMP]] to i32 (%T16class_resilience14ResilientChildC*)**
557+
// CHECK-NEXT: [[METHOD:%.*]] = load i32 (%T16class_resilience14ResilientChildC*)*, i32 (%T16class_resilience14ResilientChildC*)** [[VTABLE_OFFSET_ADDR]]
558+
// CHECK-arm64e-NEXT: ptrtoint i32 (%T16class_resilience14ResilientChildC*)** [[VTABLE_OFFSET_ADDR]] to i64
559+
// CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend.i64
560+
// CHECK-NEXT: [[RESULT:%.*]] = call swiftcc i32 [[METHOD]](%T16class_resilience14ResilientChildC* swiftself %0)
561+
// CHECK-NEXT: ret i32 [[RESULT]]
545562

546563
// ResilientChild.field setter dispatch thunk
547564

@@ -554,14 +571,16 @@ public class ClassWithResilientThenEmpty {
554571
// CHECK-NEXT: [[VTABLE_OFFSET_TMP:%.*]] = getelementptr inbounds i8, i8* [[METADATA_BYTES]], [[INT]] [[METADATA_OFFSET]]
555572
// CHECK-NEXT: [[VTABLE_OFFSET_ADDR:%.*]] = bitcast i8* [[VTABLE_OFFSET_TMP]] to void (i32, %T16class_resilience14ResilientChildC*)**
556573
// CHECK-NEXT: [[METHOD:%.*]] = load void (i32, %T16class_resilience14ResilientChildC*)*, void (i32, %T16class_resilience14ResilientChildC*)** [[VTABLE_OFFSET_ADDR]]
574+
// CHECK-arm64e-NEXT: ptrtoint void (i32, %T16class_resilience14ResilientChildC*)** [[VTABLE_OFFSET_ADDR]] to i64
575+
// CHECK-arm64e-NEXT: call i64 @llvm.ptrauth.blend.i64
557576
// CHECK-NEXT: call swiftcc void [[METHOD]](i32 %0, %T16class_resilience14ResilientChildC* swiftself %1)
558577
// CHECK-NEXT: ret void
559578

560579

561580
// ResilientGenericChild metadata initialization function
562581

563582
// CHECK-LABEL: define internal %swift.type* @"$s16class_resilience21ResilientGenericChildCMi"(%swift.type_descriptor* %0, i8** %1, i8* %2)
564-
// CHECK: [[METADATA:%.*]] = call %swift.type* @swift_allocateGenericClassMetadata(%swift.type_descriptor* %0, i8** %1, i8* %2)
583+
// CHECK: [[METADATA:%.*]] = call %swift.type* @swift_allocateGenericClassMetadata(%swift.type_descriptor* {{.*}}, i8** %1, i8* %2)
565584
// CHECK: ret %swift.type* [[METADATA]]
566585

567586
// CHECK-LABEL: define internal swiftcc %swift.metadata_response @"$s16class_resilience21ResilientGenericChildCMr"

test/IRGen/class_update_callback_without_fixed_layout.sil

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
// RUN: %target-swift-frontend -I %t -emit-ir -enable-library-evolution -O %s -target %target-pre-stable-abi-triple
66

77
// REQUIRES: objc_interop
8+
// UNSUPPORTED: CPU=arm64e
89

910
// With the old deployment target, these classes use the 'singleton' metadata
1011
// initialization pattern. The class is not statically visible to Objective-C,
@@ -59,7 +60,7 @@ sil_vtable SubclassOfClassWithResilientField {}
5960
// CHECK-NEW-SAME: i32 192,
6061

6162
// -- the update callback
62-
// CHECK-NEW-SAME: @"$s42class_update_callback_without_fixed_layout23ClassWithResilientFieldCMU"
63+
// CHECK-NEW-SAME: @"$s42class_update_callback_without_fixed_layout23ClassWithResilientFieldCMU{{(\.ptrauth)?}}"
6364

6465
// CHECK-SAME: }, section "__DATA, __objc_const"
6566

test/IRGen/dead_method.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,35 +19,35 @@ public class Class {
1919

2020
// -- vtable
2121
// CHECK-SAME: %swift.method_descriptor {
22-
// CHECK-SAME: i32 1,
22+
// CHECK-SAME: i32 {{(1|-835911679)}},
2323
// CHECK-SAME: @"$s11dead_method5ClassCACycfC"
2424
// CHECK-SAME: }
2525

2626
// CHECK-SAME: %swift.method_descriptor {
27-
// CHECK-SAME: i32 16,
27+
// CHECK-SAME: i32 {{(16|-1609105392)}},
2828
// CHECK-SAME: @"$s11dead_method5ClassC4liveyyF"
2929
// CHECK-SAME: }
3030

31-
// CHECK-SAME: %swift.method_descriptor { i32 16, i32 0 }
31+
// CHECK-SAME: %swift.method_descriptor { i32 {{(16|-1887436784)}}, i32 0 }
3232
// CHECK-SAME: }>
3333

3434
// CHECK-LABEL: @"$s11dead_method5ClassCMf" = internal global <{{.*}}> <{
3535

3636
// -- destructor
37-
// CHECK-SAME: void (%T11dead_method5ClassC*)* @"$s11dead_method5ClassCfD",
37+
// CHECK-SAME: void (%T11dead_method5ClassC*)* {{.*}}@"$s11dead_method5ClassCfD{{(.ptrauth)?}}"
3838

3939
// -- value witness table
4040
// CHECK-SAME: i8** {{@"\$sBoWV"|null}},
4141

4242
// -- nominal type descriptor
43-
// CHECK-SAME: @"$s11dead_method5ClassCMn",
43+
// CHECK-SAME: @"$s11dead_method5ClassCMn{{(.ptrauth)?}}"
4444

4545
// -- ivar destroyer
4646
// CHECK-SAME: i8* null,
4747

4848
// -- vtable
49-
// CHECK-SAME: %T11dead_method5ClassC* (%swift.type*)* @"$s11dead_method5ClassCACycfC",
50-
// CHECK-SAME: void (%T11dead_method5ClassC*)* @"$s11dead_method5ClassC4liveyyF",
51-
// CHECK-SAME: i8* bitcast (void ()* @swift_deletedMethodError to i8*)
49+
// CHECK-SAME: %T11dead_method5ClassC* (%swift.type*)* {{.*}}@"$s11dead_method5ClassCACycfC{{(.ptrauth)?}}"
50+
// CHECK-SAME: void (%T11dead_method5ClassC*)* {{.*}}@"$s11dead_method5ClassC4liveyyF{{(.ptrauth)?}}"
51+
// CHECK-SAME: i8* bitcast {{.*}}@swift_deletedMethodError{{(.ptrauth)?}} to i8*)
5252

5353
// CHECK-SAME: }>

0 commit comments

Comments
 (0)