@@ -577,8 +577,7 @@ @interface Test26 { id x[4]; } @end
577577@implementation Test26 @end
578578// CHECK: define internal void @"\01-[Test26 .cxx_destruct]"(
579579// CHECK: [[SELF:%.*]] = load ptr, ptr
580- // CHECK-NEXT: [[OFFSET:%.*]] = load i64, ptr @"OBJC_IVAR_$_Test26.x"
581- // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds i8, ptr [[SELF]], i64 [[OFFSET]]
580+ // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds i8, ptr [[SELF]], i64 0
582581// CHECK-NEXT: [[BEGIN:%.*]] = getelementptr inbounds [4 x ptr], ptr [[T1]], i32 0, i32 0
583582// CHECK-NEXT: [[END:%.*]] = getelementptr inbounds ptr, ptr [[BEGIN]], i64 4
584583// CHECK-NEXT: br label
@@ -616,8 +615,7 @@ @implementation Test28
616615@end
617616// CHECK: define internal void @"\01-[Test28 .cxx_destruct]"
618617// CHECK: [[SELF:%.*]] = load ptr, ptr
619- // CHECK-NEXT: [[OFFSET:%.*]] = load i64, ptr @"OBJC_IVAR_$_Test28.prop"
620- // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds i8, ptr [[SELF]], i64 [[OFFSET]]
618+ // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds i8, ptr [[SELF]], i64 0
621619// CHECK-NEXT: call void @llvm.objc.storeStrong(ptr [[T1]], ptr null)
622620// CHECK-NEXT: ret void
623621
@@ -738,8 +736,7 @@ - (id) init {
738736
739737// Assignment.
740738// CHECK-NEXT: [[T1:%.*]] = load ptr, ptr [[SELF]]
741- // CHECK-NEXT: [[IVAR:%.*]] = load i64, ptr @"OBJC_IVAR_$_Test30.helper"
742- // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T1]], i64 [[IVAR]]
739+ // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T1]], i64 0
743740// CHECK-NEXT#: [[T5:%.*]] = load ptr, ptr [[T3]]
744741// CHECK-NEXT#: [[T6:%.*]] = call ptr @llvm.objc.retain(ptr [[CALL]])
745742// CHECK-NEXT#: call void @llvm.objc.release(ptr [[T5]])
@@ -1137,23 +1134,20 @@ @implementation Test57
11371134@end
11381135// CHECK: define internal ptr @"\01-[Test57 strong]"(
11391136// CHECK: [[T0:%.*]] = load ptr, ptr {{%.*}}
1140- // CHECK-NEXT: [[T1:%.*]] = load i64, ptr @"OBJC_IVAR_$_Test57.strong"
1141- // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T0]], i64 [[T1]]
1137+ // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T0]], i64 0
11421138// CHECK-NEXT: [[T5:%.*]] = load ptr, ptr [[T3]]
11431139// CHECK-NEXT: ret ptr [[T5]]
11441140
11451141// CHECK: define internal ptr @"\01-[Test57 weak]"(
11461142// CHECK: [[T0:%.*]] = load ptr, ptr {{%.*}}
1147- // CHECK-NEXT: [[T1:%.*]] = load i64, ptr @"OBJC_IVAR_$_Test57.weak"
1148- // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T0]], i64 [[T1]]
1143+ // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T0]], i64 8
11491144// CHECK-NEXT: [[T5:%.*]] = call ptr @llvm.objc.loadWeakRetained(ptr [[T3]])
11501145// CHECK-NEXT: [[T6:%.*]] = tail call ptr @llvm.objc.autoreleaseReturnValue(ptr [[T5]])
11511146// CHECK-NEXT: ret ptr [[T6]]
11521147
11531148// CHECK: define internal ptr @"\01-[Test57 unsafe]"(
11541149// CHECK: [[T0:%.*]] = load ptr, ptr {{%.*}}
1155- // CHECK-NEXT: [[T1:%.*]] = load i64, ptr @"OBJC_IVAR_$_Test57.unsafe"
1156- // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T0]], i64 [[T1]]
1150+ // CHECK-NEXT: [[T3:%.*]] = getelementptr inbounds i8, ptr [[T0]], i64 16
11571151// CHECK-NEXT: [[T5:%.*]] = load ptr, ptr [[T3]]
11581152// CHECK-NEXT: ret ptr [[T5]]
11591153
0 commit comments