Skip to content

Commit 2525991

Browse files
jckarteraschwaighofer
authored andcommitted
Update IRGen tests for opaque pointers
1 parent e9ff334 commit 2525991

12 files changed

+458
-524
lines changed

test/IRGen/objc_extensions.swift

Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// RUN: %empty-directory(%t)
22
// RUN: %build-irgen-test-overlays
33
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -disable-objc-attr-requires-foundation-module -emit-module %S/Inputs/objc_extension_base.swift -o %t
4-
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) %use_no_opaque_pointers -primary-file %s -emit-ir -g | %FileCheck %s
5-
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -primary-file %s -emit-ir -g
4+
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -primary-file %s -emit-ir -g | %FileCheck %s
65

76
// REQUIRES: CPU=x86_64 || CPU=arm64
87
// REQUIRES: objc_interop
@@ -22,12 +21,12 @@ import objc_extension_base
2221
// CHECK-SAME: @_PROTOCOL__TtP15objc_extensions11NewProtocol_
2322

2423
// CHECK-LABEL: @"_CATEGORY_Gizmo_$_objc_extensions" = internal constant
25-
// CHECK-SAME: i8* getelementptr inbounds ([16 x i8], [16 x i8]* [[CATEGORY_NAME]], i64 0, i64 0),
26-
// CHECK-SAME: %objc_class* @"OBJC_CLASS_$_Gizmo",
24+
// CHECK-SAME: ptr [[CATEGORY_NAME]],
25+
// CHECK-SAME: ptr @"OBJC_CLASS_$_Gizmo",
2726
// CHECK-SAME: @"_CATEGORY_INSTANCE_METHODS_Gizmo_$_objc_extensions",
2827
// CHECK-SAME: @"_CATEGORY_CLASS_METHODS_Gizmo_$_objc_extensions",
2928
// CHECK-SAME: @"_CATEGORY_PROTOCOLS_Gizmo_$_objc_extensions",
30-
// CHECK-SAME: i8* null
29+
// CHECK-SAME: ptr null
3130
// CHECK-SAME: }, section "__DATA, {{.*}}", align 8
3231

3332
@objc protocol NewProtocol {
@@ -62,12 +61,12 @@ extension Gizmo: NewProtocol {
6261
// CHECK: [[CATEGORY_NAME_1:@.*]] = private unnamed_addr constant [17 x i8] c"objc_extensions1\00"
6362

6463
// CHECK: @"_CATEGORY_Gizmo_$_objc_extensions1" = internal constant
65-
// CHECK: i8* getelementptr inbounds ([17 x i8], [17 x i8]* [[CATEGORY_NAME_1]], i64 0, i64 0),
66-
// CHECK: %objc_class* @"OBJC_CLASS_$_Gizmo",
64+
// CHECK: ptr [[CATEGORY_NAME_1]],
65+
// CHECK: ptr @"OBJC_CLASS_$_Gizmo",
6766
// CHECK: {{.*}} @"_CATEGORY_INSTANCE_METHODS_Gizmo_$_objc_extensions1",
6867
// CHECK: {{.*}} @"_CATEGORY_CLASS_METHODS_Gizmo_$_objc_extensions1",
69-
// CHECK: i8* null,
70-
// CHECK: i8* null
68+
// CHECK: ptr null,
69+
// CHECK: ptr null
7170
// CHECK: }, section "__DATA, {{.*}}", align 8
7271

7372
extension Gizmo {
@@ -88,30 +87,30 @@ class Hoozit : NSObject {
8887
// CHECK-LABEL: @"_CATEGORY_INSTANCE_METHODS__TtC15objc_extensions6Hoozit_$_objc_extensions" = internal constant
8988
// CHECK: i32 24,
9089
// CHECK: i32 1,
91-
// CHECK: [1 x { i8*, i8*, i8* }] [{ i8*, i8*, i8* } {
92-
// CHECK: i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01L_selector_data(blibble)", i64 0, i64 0),
93-
// CHECK: i8* getelementptr inbounds ([8 x i8], [8 x i8]* [[STR:@.*]], i64 0, i64 0),
94-
// CHECK: i8* bitcast (void ([[OPAQUE:%.*]]*, i8*)* @"$s15objc_extensions6HoozitC7blibbleyyFTo" to i8*)
90+
// CHECK: [1 x { ptr, ptr, ptr }] [{ ptr, ptr, ptr } {
91+
// CHECK: ptr @"\01L_selector_data(blibble)",
92+
// CHECK: ptr [[STR:@[^,]*]],
93+
// CHECK: ptr @"$s15objc_extensions6HoozitC7blibbleyyFTo"
9594
// CHECK: }]
9695
// CHECK: }, section "__DATA, {{.*}}", align 8
9796

9897
// CHECK-LABEL: @"_CATEGORY_CLASS_METHODS__TtC15objc_extensions6Hoozit_$_objc_extensions" = internal constant
9998
// CHECK: i32 24,
10099
// CHECK: i32 1,
101-
// CHECK: [1 x { i8*, i8*, i8* }] [{ i8*, i8*, i8* } {
102-
// CHECK: i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01L_selector_data(blobble)", i64 0, i64 0),
103-
// CHECK: i8* getelementptr inbounds ([8 x i8], [8 x i8]* [[STR]], i64 0, i64 0),
104-
// CHECK: i8* bitcast (void (i8*, i8*)* @"$s15objc_extensions6HoozitC7blobbleyyFZTo" to i8*)
100+
// CHECK: [1 x { ptr, ptr, ptr }] [{ ptr, ptr, ptr } {
101+
// CHECK: ptr @"\01L_selector_data(blobble)",
102+
// CHECK: ptr [[STR]],
103+
// CHECK: ptr @"$s15objc_extensions6HoozitC7blobbleyyFZTo"
105104
// CHECK: }]
106105
// CHECK: }, section "__DATA, {{.*}}", align 8
107106

108107
// CHECK-LABEL: @"_CATEGORY__TtC15objc_extensions6Hoozit_$_objc_extensions" = internal constant
109-
// CHECK: i8* getelementptr inbounds ([16 x i8], [16 x i8]* [[CATEGORY_NAME]], i64 0, i64 0),
110-
// CHECK: %swift.type* {{.*}} @"$s15objc_extensions6HoozitCMf",
108+
// CHECK: ptr [[CATEGORY_NAME]],
109+
// CHECK: ptr {{.*}} @"$s15objc_extensions6HoozitCMf",
111110
// CHECK: {{.*}} @"_CATEGORY_INSTANCE_METHODS__TtC15objc_extensions6Hoozit_$_objc_extensions",
112111
// CHECK: {{.*}} @"_CATEGORY_CLASS_METHODS__TtC15objc_extensions6Hoozit_$_objc_extensions",
113-
// CHECK: i8* null,
114-
// CHECK: i8* null
112+
// CHECK: ptr null,
113+
// CHECK: ptr null
115114
// CHECK: }, section "__DATA, {{.*}}", align 8
116115

117116
extension Hoozit {
@@ -124,10 +123,10 @@ class SwiftOnly { }
124123
// CHECK-LABEL: @"_CATEGORY_INSTANCE_METHODS__TtC15objc_extensions9SwiftOnly_$_objc_extensions" = internal constant
125124
// CHECK: i32 24,
126125
// CHECK: i32 1,
127-
// CHECK: [1 x { i8*, i8*, i8* }] [{ i8*, i8*, i8* } {
128-
// CHECK: i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01L_selector_data(wibble)", i64 0, i64 0),
129-
// CHECK: i8* getelementptr inbounds ([8 x i8], [8 x i8]* [[STR]], i64 0, i64 0),
130-
// CHECK: i8* bitcast (void (i8*, i8*)* @"$s15objc_extensions9SwiftOnlyC6wibbleyyFTo" to i8*)
126+
// CHECK: [1 x { ptr, ptr, ptr }] [{ ptr, ptr, ptr } {
127+
// CHECK: ptr @"\01L_selector_data(wibble)",
128+
// CHECK: ptr [[STR]],
129+
// CHECK: ptr @"$s15objc_extensions9SwiftOnlyC6wibbleyyFTo"
131130
// CHECK: }] }, section "__DATA, {{.*}}", align 8
132131
extension SwiftOnly {
133132
@objc func wibble() { }
@@ -155,9 +154,9 @@ extension NSObject {
155154

156155

157156
// CHECK-LABEL: @"_CATEGORY__TtCC15objc_extensions5Outer5Inner_$_objc_extensions" = internal constant
158-
// CHECK-SAME: i8* getelementptr inbounds ([16 x i8], [16 x i8]* [[CATEGORY_NAME]], i64 0, i64 0),
157+
// CHECK-SAME: ptr [[CATEGORY_NAME]],
159158
// CHECK-SAME: @"_CATEGORY_INSTANCE_METHODS__TtCC15objc_extensions5Outer5Inner_$_objc_extensions",
160-
// CHECK-SAME: i8* null
159+
// CHECK-SAME: ptr null
161160
// CHECK-SAME: }, section "__DATA, {{.*}}", align 8
162161

163162
class Outer : NSObject {
@@ -176,7 +175,7 @@ class NSDogcow : NSObject {}
176175

177176
// CHECK: [[NAME:@.*]] = private unnamed_addr constant [5 x i8] c"woof\00"
178177
// CHECK: [[ATTR:@.*]] = private unnamed_addr constant [7 x i8] c"Tq,N,D\00"
179-
// CHECK: @"_CATEGORY_PROPERTIES__TtC15objc_extensions8NSDogcow_$_objc_extensions" = internal constant {{.*}} [[NAME]], {{.*}} [[ATTR]], {{.*}}, section "__DATA, {{.*}}", align 8
178+
// CHECK: @"_CATEGORY_PROPERTIES__TtC15objc_extensions8NSDogcow_$_objc_extensions" = internal constant {{.*}} [[NAME]], {{.*}} [[ATTR]] {{.*}}, section "__DATA, {{.*}}", align 8
180179
extension NSDogcow {
181180
@NSManaged var woof: Int
182181
}
@@ -206,40 +205,37 @@ class SwiftSubGizmo : SwiftBaseGizmo {
206205
*/
207206
extension FungingArray {
208207
// CHECK-LABEL: define {{.*}} @"$sSo12FungingArrayC15objc_extensionsEyAByxGxcfC"
209-
// CHECK-SAME: (%objc_object* %0, %swift.type* swiftself %1)
208+
// CHECK-SAME: (ptr %0, ptr swiftself %1)
210209
// CHECK: @__swift_instantiateConcreteTypeFromMangledName{{.*}}@"$sSo9NSFunging_pMD"{{.*}}!dbg
211210

212211
// CHECK-LABEL: define {{.*}} @"$sSo12FungingArrayC15objc_extensionsEyAByxGxcfc"
213-
// CHECK-SAME: (%objc_object* %0, %TSo12FungingArrayC* swiftself %1)
212+
// CHECK-SAME: (ptr %0, ptr swiftself %1)
214213
// CHECK: [[ALLOCA:%[^, =]+]] = alloca %Any, align 8
215214
// CHECK: @__swift_instantiateConcreteTypeFromMangledName{{.*}}@"$sSo9NSFunging_pMD"{{.*}}!dbg
216-
// CHECK: {{%[^, =]+}} = getelementptr inbounds %Any, %Any* [[ALLOCA]], i32 0, i32 0
217-
// CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds %Any, %Any* [[ALLOCA]], i32 0, i32 0
215+
// CHECK: {{%[^, =]+}} = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0
216+
// CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0
218217
// CHECK: [[BUFPTR:%[^, =]+]] = {{.*}} [[ANYBUF]]
219-
// CHECK: [[BUF_0:%[^, =]+]] = {{.*}} [[BUFPTR]]
220-
// CHECK: store {{.*}} %0, {{.*}} [[BUF_0]]
221-
// CHECK: call swiftcc void @"$s15objc_extensions11opaquePrintyyypF"(%Any* {{.*}} [[ALLOCA]])
218+
// CHECK: store {{.*}} %0, {{.*}} [[BUFPTR]]
219+
// CHECK: call swiftcc void @"$s15objc_extensions11opaquePrintyyypF"(ptr {{.*}} [[ALLOCA]])
222220
@objc public convenience init(_ elem: Element) {
223221
opaquePrint(elem)
224222
self.init()
225223
}
226224

227225
// CHECK-LABEL: define {{.*}} @"$sSo12FungingArrayC15objc_extensionsE7pinningAByxGxm_tcfC"
228-
// CHECK-SAME: (%swift.type* %0, %swift.type* swiftself %1)
226+
// CHECK-SAME: (ptr %0, ptr swiftself %1)
229227
// CHECK: @__swift_instantiateConcreteTypeFromMangledName{{.*}}@"$sSo9NSFunging_pMD"{{.*}}!dbg
230228

231229
// CHECK-LABEL: define {{.*}} @"$sSo12FungingArrayC15objc_extensionsE7pinningAByxGxm_tcfc"
232-
// CHECK-SAME: (%swift.type* %0, %TSo12FungingArrayC* swiftself %1)
230+
// CHECK-SAME: (ptr %0, ptr swiftself %1)
233231
// CHECK: [[ALLOCA:%[^, =]+]] = alloca %Any, align 8
234232
// CHECK: @__swift_instantiateConcreteTypeFromMangledName{{.*}}@"$sSo9NSFunging_pMD"{{.*}}!dbg
235-
// CHECK: [[OBJC_CLASS:%[^, =]+]] = call %objc_class* @swift_getObjCClassFromMetadata(%swift.type* %0)
236-
// CHECK: [[OBJC_CLASS_OBJ:%[^, =]+]] = bitcast %objc_class* [[OBJC_CLASS]]
237-
// CHECK: {{%[^, =]+}} = getelementptr inbounds %Any, %Any* [[ALLOCA]], i32 0, i32 0
238-
// CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds %Any, %Any* [[ALLOCA]], i32 0, i32 0
233+
// CHECK: [[OBJC_CLASS:%[^, =]+]] = call ptr @swift_getObjCClassFromMetadata(ptr %0)
234+
// CHECK: {{%[^, =]+}} = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0
235+
// CHECK: [[ANYBUF:%[^, =]+]] = getelementptr inbounds %Any, ptr [[ALLOCA]], i32 0, i32 0
239236
// CHECK: [[BUFPTR:%[^, =]+]] = {{.*}} [[ANYBUF]]
240-
// CHECK: [[BUF_0:%[^, =]+]] = {{.*}} [[BUFPTR]]
241-
// CHECK: store {{.*}} [[OBJC_CLASS_OBJ]], {{.*}} [[BUF_0]]
242-
// CHECK: call swiftcc void @"$s15objc_extensions11opaquePrintyyypF"(%Any* {{.*}} [[ALLOCA]])
237+
// CHECK: store {{.*}} [[OBJC_CLASS]], {{.*}} [[BUFPTR]]
238+
// CHECK: call swiftcc void @"$s15objc_extensions11opaquePrintyyypF"(ptr {{.*}} [[ALLOCA]])
243239
@objc public convenience init(pinning: Element.Type) {
244240
opaquePrint(pinning as AnyObject)
245241
self.init()

test/IRGen/objc_generic_class_metadata.sil

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %use_no_opaque_pointers %s -emit-ir | %FileCheck %s -DINT=i%target-ptrsize
2-
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -emit-ir
1+
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -emit-ir | %FileCheck %s -DINT=i%target-ptrsize
32

43
// REQUIRES: objc_interop
54

@@ -10,11 +9,11 @@ import Foundation
109
import objc_generics
1110

1211
// CHECK-LABEL: @"OBJC_METACLASS_$__TtC27objc_generic_class_metadata8Subclass" = hidden global %objc_class
13-
// CHECK: %objc_class* @"OBJC_METACLASS_$_NSObject"
14-
// CHECK: %objc_class* @"OBJC_METACLASS_$_GenericClass"
12+
// CHECK: ptr @"OBJC_METACLASS_$_NSObject"
13+
// CHECK: ptr @"OBJC_METACLASS_$_GenericClass"
1514
// CHECK-LABEL: @"$s27objc_generic_class_metadata8SubclassCMf" = internal global
16-
// CHECK: %objc_class* @"OBJC_METACLASS_$__TtC27objc_generic_class_metadata8Subclass"
17-
// CHECK: %objc_class* @"OBJC_CLASS_$_GenericClass"
15+
// CHECK: ptr @"OBJC_METACLASS_$__TtC27objc_generic_class_metadata8Subclass"
16+
// CHECK: ptr @"OBJC_CLASS_$_GenericClass"
1817
class Subclass: GenericClass<NSString> {}
1918

2019
sil_vtable Subclass {}
@@ -30,28 +29,28 @@ entry:
3029

3130
// All instances of the generic ObjC class are erased to the same metadata
3231
// at runtime.
33-
// CHECK: [[METADATA:%.*]] = call {{.*}} @__swift_instantiateConcreteTypeFromMangledName{{.*}}({{.*}} @"$sSo12GenericClassCMD")
32+
// CHECK: [[METADATA:%[0-9]+]] = call ptr @__swift_instantiateConcreteTypeFromMangledName(ptr @"$sSo12GenericClassCMD")
3433
%a = metatype $@thick GenericClass<NSString>.Type
35-
// CHECK: call swiftcc void @metatype_sink(%swift.type* [[METADATA]], %swift.type* [[METADATA]])
34+
// CHECK: call swiftcc void @metatype_sink(ptr [[METADATA]], ptr [[METADATA]])
3635
apply %z<GenericClass<NSString>>(%a) : $@convention(thin) <T> (@thick T.Type) -> ()
3736

38-
// CHECK: call swiftcc void @metatype_sink(%swift.type* [[METADATA]], %swift.type* [[METADATA]])
37+
// CHECK: call swiftcc void @metatype_sink(ptr [[METADATA]], ptr [[METADATA]])
3938
%b = metatype $@thick GenericClass<NSObject>.Type
4039
apply %z<GenericClass<NSObject>>(%b) : $@convention(thin) <T> (@thick T.Type) -> ()
4140

42-
// CHECK: [[T0:%.*]] = load %objc_class*, %objc_class** @"OBJC_CLASS_REF_$_GenericClass",
43-
// CHECK: [[OBJC_CLASS:%.*]] = call %objc_class* @{{.*}}(%objc_class* [[T0]])
44-
// CHECK: call swiftcc void @objc_class_sink(%objc_class* [[OBJC_CLASS]], %swift.type* [[METADATA]])
41+
// CHECK: [[T0:%.*]] = load ptr, ptr @"OBJC_CLASS_REF_$_GenericClass",
42+
// CHECK: [[OBJC_CLASS:%.*]] = call ptr @{{.*}}(ptr [[T0]])
43+
// CHECK: call swiftcc void @objc_class_sink(ptr [[OBJC_CLASS]], ptr [[METADATA]])
4544
%c = metatype $@objc_metatype GenericClass<NSString>.Type
4645
apply %y<GenericClass<NSString>>(%c) : $@convention(thin) <T: AnyObject> (@objc_metatype T.Type) -> ()
4746

4847
// Check that generic classes are erased at depth.
4948
// CHECK: [[TUPLE_METADATA:%.*]] = call {{.*}} @__swift_instantiateConcreteTypeFromMangledName{{.*}}({{.*}} @"$sSaySo12GenericClassC_SitGMD")
5049
%d = metatype $@thick Array<(GenericClass<NSString>, Int)>.Type
51-
// CHECK: call swiftcc void @metatype_sink(%swift.type* [[TUPLE_METADATA]], %swift.type* [[TUPLE_METADATA]])
50+
// CHECK: call swiftcc void @metatype_sink(ptr [[TUPLE_METADATA]], ptr [[TUPLE_METADATA]])
5251
apply %z<Array<(GenericClass<NSString>, Int)>>(%d) : $@convention(thin) <T> (@thick T.Type) -> ()
5352
%e = metatype $@thick Array<(GenericClass<NSObject>, Int)>.Type
54-
// CHECK: call swiftcc void @metatype_sink(%swift.type* [[TUPLE_METADATA]], %swift.type* [[TUPLE_METADATA]])
53+
// CHECK: call swiftcc void @metatype_sink(ptr [[TUPLE_METADATA]], ptr [[TUPLE_METADATA]])
5554
apply %z<Array<(GenericClass<NSObject>, Int)>>(%e) : $@convention(thin) <T> (@thick T.Type) -> ()
5655

5756
return undef : $()
@@ -81,13 +80,11 @@ class K<T> {}
8180

8281
sil @$useMeta : $@convention(thin) <P> () -> ()
8382

84-
// CHECK-LABEL: define void @an_objc_method(i8* %0, i8* %1)
85-
// CHECK: [[C:%.*]] = bitcast i8* %0 to %objc_class*
86-
// CHECK: [[M:%.*]] = call %swift.type* @swift_getObjCClassMetadata(%objc_class* [[C]])
87-
// CHECK: [[M2:%.*]] = bitcast %swift.type* [[M]] to %swift.type**
88-
// CHECK: [[P:%.*]] = getelementptr inbounds %swift.type*, %swift.type** [[M2]]
89-
// CHECK: [[P2:%.*]] = load %swift.type*, %swift.type** [[P]]
90-
// CHECK: call swiftcc void @"$useMeta"(%swift.type* [[P2]])
83+
// CHECK-LABEL: define void @an_objc_method(ptr %0, ptr %1)
84+
// CHECK: [[M:%.*]] = call ptr @swift_getObjCClassMetadata(ptr %0)
85+
// CHECK: [[P:%.*]] = getelementptr inbounds ptr, ptr [[M]],
86+
// CHECK: [[P2:%.*]] = load ptr, ptr [[P]]
87+
// CHECK: call swiftcc void @"$useMeta"(ptr [[P2]])
9188
// CHECK: ret void
9289
sil @an_objc_method : $@convention(objc_method) <P> (@objc_metatype K<P>.Type) -> () {
9390
bb0(%0 : $@objc_metatype K<P>.Type):
@@ -99,10 +96,8 @@ bb0(%0 : $@objc_metatype K<P>.Type):
9996
public class D {
10097
}
10198

102-
// CHECK: define void @testDynamicSelfMetatype(i8* %0, i8* %1)
103-
// CHECK: [[T0:%.*]] = bitcast {{.*}} %0
104-
// CHECK: [[T1:%.*]] = bitcast {{.*}} [[T0]]
105-
// CHECK: [[TYPE:%.*]] = load {{.*}} [[T1]]
99+
// CHECK: define void @testDynamicSelfMetatype(ptr %0, ptr %1)
100+
// CHECK: [[TYPE:%.*]] = load {{.*}} %0
106101
sil @testDynamicSelfMetatype : $@convention(objc_method) (@owned D) -> () {
107102
bb0(%0 : $D):
108103
%1 = metatype $@thick @dynamic_self D.Type

test/IRGen/objc_generic_class_stub.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11

22
// RUN: %empty-directory(%t)
33
// RUN: %build-irgen-test-overlays
4-
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) %use_no_opaque_pointers -primary-file %s -emit-ir | %FileCheck %s
5-
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -primary-file %s -emit-ir
4+
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -primary-file %s -emit-ir | %FileCheck %s
65

76
// REQUIRES: objc_interop
87

@@ -17,4 +16,4 @@ public class ConcreteNSObjectSubclass : GenericNSObjectSubclass<Int> {}
1716

1817
// CHECK-LABEL: @"$s23objc_generic_class_stub24ConcreteNSObjectSubclassCMt" = internal global %objc_full_class_stub {{.*}} @"$s23objc_generic_class_stub24ConcreteNSObjectSubclassCMU{{(\.ptrauth)?}}"
1918

20-
// CHECK-LABEL: @objc_class_stubs = internal global {{.*}} @"$s23objc_generic_class_stub24ConcreteNSObjectSubclassCMt" {{.*}}, section "__DATA,__objc_stublist,regular,no_dead_strip"
19+
// CHECK-LABEL: @objc_class_stubs = internal global {{.*}} @"$s23objc_generic_class_stub24ConcreteNSObjectSubclassCMt"{{.*}}, section "__DATA,__objc_stublist,regular,no_dead_strip"

0 commit comments

Comments
 (0)