|
1 |
| -// RUN: %target-swift-frontend -I %S/../Inputs -enable-source-import -emit-ir -enable-resilience %s | FileCheck %s |
| 1 | +// RUN: %target-swift-frontend -I %S/../Inputs -enable-source-import -emit-ir -enable-resilience %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%target-runtime |
2 | 2 | // RUN: %target-swift-frontend -I %S/../Inputs -enable-source-import -emit-ir -enable-resilience -O %s
|
3 | 3 |
|
4 | 4 | // CHECK: %swift.type = type { [[INT:i32|i64]] }
|
@@ -226,21 +226,34 @@ public class MyResilientChild : MyResilientParent {
|
226 | 226 |
|
227 | 227 | // ClassWithResilientProperty metadata instantiation function
|
228 | 228 |
|
229 |
| -// FIXME: This is bogus since we don't emit code to initialize the |
230 |
| -// global ivar offsets yet. |
231 |
| - |
232 | 229 |
|
233 | 230 | // CHECK-LABEL: define private %swift.type* @create_generic_metadata_ClassWithResilientProperty(%swift.type_pattern*, i8**)
|
234 |
| -// CHECK: [[METADATA:%.*]] = call %swift.type* @swift_allocateGenericClassMetadata( |
235 |
| -// CHECK: [[SIZE_METADATA:%.*]] = call %swift.type* @_TMaV16resilient_struct4Size() |
236 |
| -// CHECK: call void @swift_initClassMetadata_UniversalStrategy( |
237 |
| -// CHECK: ret %swift.type* [[METADATA]] |
| 231 | +// CHECK: [[METADATA:%.*]] = call %swift.type* @swift_allocateGenericClassMetadata( |
| 232 | +// CHECK: [[SIZE_METADATA:%.*]] = call %swift.type* @_TMaV16resilient_struct4Size() |
| 233 | +// CHECK: call void @swift_initClassMetadata_UniversalStrategy( |
| 234 | +// CHECK-native: [[METADATA_PTR:%.*]] = bitcast %swift.type* [[METADATA]] to [[INT]]* |
| 235 | +// CHECK-native-NEXT: [[FIELD_OFFSET_PTR:%.*]] = getelementptr inbounds [[INT]], [[INT]]* [[METADATA_PTR]], [[INT]] 12 |
| 236 | +// CHECK-native-NEXT: [[FIELD_OFFSET:%.*]] = load [[INT]], [[INT]]* [[FIELD_OFFSET_PTR]] |
| 237 | +// CHECK-native-NEXT: store [[INT]] [[FIELD_OFFSET]], [[INT]]* @_TWvdvC16class_resilience26ClassWithResilientProperty1sV16resilient_struct4Size |
| 238 | +// CHECK-native-NEXT: [[METADATA_PTR:%.*]] = bitcast %swift.type* [[METADATA]] to [[INT]]* |
| 239 | +// CHECK-native-NEXT: [[FIELD_OFFSET_PTR:%.*]] = getelementptr inbounds [[INT]], [[INT]]* [[METADATA_PTR]], [[INT]] 13 |
| 240 | +// CHECK-native-NEXT: [[FIELD_OFFSET:%.*]] = load [[INT]], [[INT]]* [[FIELD_OFFSET_PTR]] |
| 241 | +// CHECK-native-NEXT: store [[INT]] [[FIELD_OFFSET]], [[INT]]* @_TWvdvC16class_resilience26ClassWithResilientProperty5colorVs5Int32 |
| 242 | +// CHECK-NEXT: ret %swift.type* [[METADATA]] |
238 | 243 |
|
239 | 244 |
|
240 | 245 | // ClassWithResilientlySizedProperty metadata instantiation function
|
241 | 246 |
|
242 | 247 | // CHECK-LABEL: define private %swift.type* @create_generic_metadata_ClassWithResilientlySizedProperty(%swift.type_pattern*, i8**)
|
243 |
| -// CHECK: [[METADATA:%.*]] = call %swift.type* @swift_allocateGenericClassMetadata( |
244 |
| -// CHECK: [[RECTANGLE_METADATA:%.*]] = call %swift.type* @_TMaV16resilient_struct9Rectangle() |
245 |
| -// CHECK: call void @swift_initClassMetadata_UniversalStrategy( |
246 |
| -// CHECK: ret %swift.type* [[METADATA]] |
| 248 | +// CHECK: [[METADATA:%.*]] = call %swift.type* @swift_allocateGenericClassMetadata( |
| 249 | +// CHECK: [[RECTANGLE_METADATA:%.*]] = call %swift.type* @_TMaV16resilient_struct9Rectangle() |
| 250 | +// CHECK: call void @swift_initClassMetadata_UniversalStrategy( |
| 251 | +// CHECK-native: [[METADATA_PTR:%.*]] = bitcast %swift.type* [[METADATA]] to [[INT]]* |
| 252 | +// CHECK-native-NEXT: [[FIELD_OFFSET_PTR:%.*]] = getelementptr inbounds [[INT]], [[INT]]* [[METADATA_PTR]], [[INT]] 11 |
| 253 | +// CHECK-native-NEXT: [[FIELD_OFFSET:%.*]] = load [[INT]], [[INT]]* [[FIELD_OFFSET_PTR]] |
| 254 | +// CHECK-native-NEXT: store [[INT]] [[FIELD_OFFSET]], [[INT]]* @_TWvdvC16class_resilience33ClassWithResilientlySizedProperty1rV16resilient_struct9Rectangle |
| 255 | +// CHECK-native-NEXT: [[METADATA_PTR:%.*]] = bitcast %swift.type* [[METADATA]] to [[INT]]* |
| 256 | +// CHECK-native-NEXT: [[FIELD_OFFSET_PTR:%.*]] = getelementptr inbounds [[INT]], [[INT]]* [[METADATA_PTR]], [[INT]] 12 |
| 257 | +// CHECK-native-NEXT: [[FIELD_OFFSET:%.*]] = load [[INT]], [[INT]]* [[FIELD_OFFSET_PTR]] |
| 258 | +// CHECK-native-NEXT: store [[INT]] [[FIELD_OFFSET]], [[INT]]* @_TWvdvC16class_resilience33ClassWithResilientlySizedProperty5colorVs5Int32 |
| 259 | +// CHECK-NEXT: ret %swift.type* [[METADATA]] |
0 commit comments