@@ -16,20 +16,20 @@ sil_vtable C {}
16
16
17
17
protocol CP: class {}
18
18
19
- // CHECK-i386-LABEL: define{{( protected)?}} swiftcc i32 @bitcast_trivial(%C7bitcast1C *) {{.*}} {
20
- // CHECK-i386: [[BUF:%.*]] = alloca %C7bitcast1C *, align 4
21
- // CHECK-i386: store %C7bitcast1C * %0, %C7bitcast1C ** [[BUF]]
22
- // CHECK-i386: [[OUT_BUF:%.*]] = bitcast %C7bitcast1C ** [[BUF]] to %Si *
23
- // CHECK-i386: [[VALUE_BUF:%.*]] = getelementptr inbounds %Si , %Si * [[OUT_BUF]], i32 0, i32 0
19
+ // CHECK-i386-LABEL: define{{( protected)?}} swiftcc i32 @bitcast_trivial(%T7bitcast1CC *) {{.*}} {
20
+ // CHECK-i386: [[BUF:%.*]] = alloca %T7bitcast1CC *, align 4
21
+ // CHECK-i386: store %T7bitcast1CC * %0, %T7bitcast1CC ** [[BUF]]
22
+ // CHECK-i386: [[OUT_BUF:%.*]] = bitcast %T7bitcast1CC ** [[BUF]] to %TSi *
23
+ // CHECK-i386: [[VALUE_BUF:%.*]] = getelementptr inbounds %TSi , %TSi * [[OUT_BUF]], i32 0, i32 0
24
24
// CHECK-i386: [[VALUE:%.*]] = load i32, i32* [[VALUE_BUF]], align 4
25
25
// CHECK-i386: ret i32 [[VALUE]]
26
26
// CHECK-i386: }
27
27
28
- // CHECK-x86_64-LABEL: define{{( protected)?}} swiftcc i64 @bitcast_trivial(%C7bitcast1C *) {{.*}} {
29
- // CHECK-x86_64: [[BUF:%.*]] = alloca %C7bitcast1C *, align 8
30
- // CHECK-x86_64: store %C7bitcast1C * %0, %C7bitcast1C ** [[BUF]]
31
- // CHECK-x86_64: [[OUT_BUF:%.*]] = bitcast %C7bitcast1C ** [[BUF]] to %Si *
32
- // CHECK-x86_64: [[VALUE_BUF:%.*]] = getelementptr inbounds %Si , %Si * [[OUT_BUF]], i32 0, i32 0
28
+ // CHECK-x86_64-LABEL: define{{( protected)?}} swiftcc i64 @bitcast_trivial(%T7bitcast1CC *) {{.*}} {
29
+ // CHECK-x86_64: [[BUF:%.*]] = alloca %T7bitcast1CC *, align 8
30
+ // CHECK-x86_64: store %T7bitcast1CC * %0, %T7bitcast1CC ** [[BUF]]
31
+ // CHECK-x86_64: [[OUT_BUF:%.*]] = bitcast %T7bitcast1CC ** [[BUF]] to %TSi *
32
+ // CHECK-x86_64: [[VALUE_BUF:%.*]] = getelementptr inbounds %TSi , %TSi * [[OUT_BUF]], i32 0, i32 0
33
33
// CHECK-x86_64: [[VALUE:%.*]] = load i64, i64* [[VALUE_BUF]], align 8
34
34
// CHECK-x86_64: ret i64 [[VALUE]]
35
35
// CHECK-x86_64: }
@@ -54,15 +54,15 @@ entry(%c : $Optional<Int>):
54
54
return %i : $Optional<Int>
55
55
}
56
56
57
- // CHECK-i386-LABEL: define{{( protected)?}} swiftcc i32 @bitcast_ref(%C7bitcast1C *) {{.*}} {
57
+ // CHECK-i386-LABEL: define{{( protected)?}} swiftcc i32 @bitcast_ref(%T7bitcast1CC *) {{.*}} {
58
58
// CHECK-i386-NEXT: entry:
59
- // CHECK-i386-NEXT: [[VALUE:%.*]] = ptrtoint %C7bitcast1C * %0 to i32
59
+ // CHECK-i386-NEXT: [[VALUE:%.*]] = ptrtoint %T7bitcast1CC * %0 to i32
60
60
// CHECK-i386-NEXT: ret i32 [[VALUE]]
61
61
// CHECK-i386-NEXT: }
62
62
63
- // CHECK-x86_64-LABEL: define{{( protected)?}} swiftcc i64 @bitcast_ref(%C7bitcast1C *) {{.*}} {
63
+ // CHECK-x86_64-LABEL: define{{( protected)?}} swiftcc i64 @bitcast_ref(%T7bitcast1CC *) {{.*}} {
64
64
// CHECK-x86_64-NEXT: entry:
65
- // CHECK-x86_64-NEXT: [[VALUE:%.*]] = ptrtoint %C7bitcast1C * %0 to i64
65
+ // CHECK-x86_64-NEXT: [[VALUE:%.*]] = ptrtoint %T7bitcast1CC * %0 to i64
66
66
// CHECK-x86_64-NEXT: ret i64 [[VALUE]]
67
67
// CHECK-x86_64-NEXT: }
68
68
sil @bitcast_ref: $@convention(thin) (C) -> Optional<C> {
@@ -88,12 +88,12 @@ bb0(%0 : $Optional<C>):
88
88
89
89
// CHECK-x86_64-LABEL: define hidden swiftcc i64 @unchecked_bitwise_cast(i64, i64) {{.*}} {
90
90
// CHECK-x86_64-NEXT: entry:
91
- // CHECK-x86_64-NEXT: alloca <{ %Si , %Si }>, align 8
91
+ // CHECK-x86_64-NEXT: alloca <{ %TSi , %TSi }>, align 8
92
92
// A bunch of GEPs happen here to get from Int to int.
93
93
// CHECK-x86_64: store i64 %{{.*}}, i64* %bitcast.elt._value, align 8
94
94
// CHECK-x86_64: store i64 %{{.*}}, i64* %bitcast.elt1._value, align 8
95
- // CHECK-x86_64-NEXT: %{{.*}} = bitcast <{ %Si , %Si }>* %bitcast to %Si *
96
- // CHECK-x86_64-NEXT: [[VAL:%.*]] = getelementptr inbounds %Si , %Si * %{{.*}}, i32 0, i32 0
95
+ // CHECK-x86_64-NEXT: %{{.*}} = bitcast <{ %TSi , %TSi }>* %bitcast to %TSi *
96
+ // CHECK-x86_64-NEXT: [[VAL:%.*]] = getelementptr inbounds %TSi , %TSi * %{{.*}}, i32 0, i32 0
97
97
// CHECK-x86_64-NEXT: [[RESULT:%.*]] = load i64, i64* [[VAL]], align 8
98
98
// CHECK-x86_64: ret i64 [[RESULT]]
99
99
// CHECK-x86_64-NEXT: }
@@ -107,7 +107,7 @@ bb0(%0 : $Int, %1 : $Int):
107
107
// CHECK-x86_64-LABEL: define hidden swiftcc i64 @trivial_bitwise_cast(i64, i64) {{.*}} {
108
108
// CHECK-x86_64-NOT: trap
109
109
// CHECK-x86_64-NOT: unreachable
110
- // CHECK-x86_64: bitcast <{ %Si , %Si }>* %bitcast to %Si *
110
+ // CHECK-x86_64: bitcast <{ %TSi , %TSi }>* %bitcast to %TSi *
111
111
// CHECK-x86_64: ret
112
112
sil hidden [noinline] @trivial_bitwise_cast : $@convention(thin) (Int, Int) -> Int {
113
113
bb0(%0 : $Int, %1 : $Int):
@@ -131,11 +131,11 @@ bb0(%0 : $*U, %1 : $*T):
131
131
}
132
132
133
133
// CHECK-i386-LABEL: define{{( protected)?}} swiftcc i32 @unchecked_ref_cast_class_optional
134
- // CHECK-i386: ptrtoint %C7bitcast1A * %0 to i32
134
+ // CHECK-i386: ptrtoint %T7bitcast1AC * %0 to i32
135
135
// CHECK-i386-NEXT: ret i32
136
136
137
137
// CHECK-x86_64-LABEL: define{{( protected)?}} swiftcc i64 @unchecked_ref_cast_class_optional
138
- // CHECK-x86_64: ptrtoint %C7bitcast1A * %0 to i64
138
+ // CHECK-x86_64: ptrtoint %T7bitcast1AC * %0 to i64
139
139
// CHECK-x86_64-NEXT: ret i64
140
140
sil @unchecked_ref_cast_class_optional : $@convention(thin) (@owned A) -> @owned Optional<AnyObject> {
141
141
bb0(%0 : $A):
0 commit comments