@@ -17,11 +17,9 @@ class Purebred {
17
17
}
18
18
sil_vtable Purebred {}
19
19
20
- // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @purebred_method(%T33class_isa_pointers_armv7k_watchos8PurebredC* %0) {{.*}} {
21
- // CHECK: [[ISA_PTR:%.*]] = bitcast %T33class_isa_pointers_armv7k_watchos8PurebredC* %0 to %swift.type**
22
- // CHECK: [[ISA:%.*]] = load %swift.type*, %swift.type** [[ISA_PTR]]
23
- // CHECK: [[VTABLE:%.*]] = bitcast %swift.type* [[ISA]]
24
- // CHECK: getelementptr inbounds {{.*}} [[VTABLE]]
20
+ // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @purebred_method(ptr %0) {{.*}} {
21
+ // CHECK: [[ISA:%.*]] = load ptr, ptr %0
22
+ // CHECK: getelementptr inbounds {{.*}} [[ISA]]
25
23
sil @purebred_method : $@convention(thin) (@owned Purebred) -> () {
26
24
entry(%0 : $Purebred):
27
25
%m = class_method %0 : $Purebred, #Purebred.method : (Purebred) -> () -> (), $@convention(method) (@guaranteed Purebred) -> ()
@@ -38,12 +36,9 @@ class Mongrel: Gizmo {
38
36
}
39
37
sil_vtable Mongrel {}
40
38
41
- // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @mongrel_method(%T33class_isa_pointers_armv7k_watchos7MongrelC* %0) {{.*}} {
42
- // CHECK: [[T0:%.*]] = bitcast {{.*}} %0 to %objc_object*
43
- // CHECK: [[T1:%.*]] = call %objc_class* @object_getClass(%objc_object* [[T0]])
44
- // CHECK: [[ISA:%.*]] = bitcast %objc_class* [[T1]] to %swift.type*
45
- // CHECK: [[VTABLE:%.*]] = bitcast %swift.type* [[ISA]]
46
- // CHECK: getelementptr inbounds {{.*}} [[VTABLE]]
39
+ // CHECK-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @mongrel_method(ptr %0) {{.*}} {
40
+ // CHECK: [[T1:%.*]] = call ptr @object_getClass(ptr %0)
41
+ // CHECK: getelementptr inbounds {{.*}} [[T1]]
47
42
sil @mongrel_method : $@convention(thin) (@owned Mongrel) -> () {
48
43
entry(%0 : $Mongrel):
49
44
%m = class_method %0 : $Mongrel, #Mongrel.method : (Mongrel) -> () -> (), $@convention(method) (@guaranteed Mongrel) -> ()
0 commit comments