[clang] 2c3c190 - [Clang] Convert some tests to opaque pointers (NFC)

Nikita Popov via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 1 08:04:58 PDT 2023


Author: Nikita Popov
Date: 2023-06-01T17:04:48+02:00
New Revision: 2c3c1902a347a2a6d681e8dbe410a2dfe78389bb

URL: https://github.com/llvm/llvm-project/commit/2c3c1902a347a2a6d681e8dbe410a2dfe78389bb
DIFF: https://github.com/llvm/llvm-project/commit/2c3c1902a347a2a6d681e8dbe410a2dfe78389bb.diff

LOG: [Clang] Convert some tests to opaque pointers (NFC)

Added: 
    

Modified: 
    clang/test/CodeGenObjCXX/property-dot-reference.mm
    clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
    clang/test/CodeGenObjCXX/property-object-conditional-exp.mm
    clang/test/CodeGenObjCXX/property-object-reference-1.mm
    clang/test/CodeGenObjCXX/property-object-reference.mm
    clang/test/CodeGenObjCXX/property-objects.mm
    clang/test/CodeGenObjCXX/property-reference.mm

Removed: 
    


################################################################################
diff  --git a/clang/test/CodeGenObjCXX/property-dot-reference.mm b/clang/test/CodeGenObjCXX/property-dot-reference.mm
index 126676d4f0346..9fb35858219f8 100644
--- a/clang/test/CodeGenObjCXX/property-dot-reference.mm
+++ b/clang/test/CodeGenObjCXX/property-dot-reference.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-darwin10 -emit-llvm -fexceptions -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fexceptions -o - %s | FileCheck %s
 // rdar://8409336
 
 struct TFENode {
@@ -11,8 +11,8 @@ @interface TNodeIconAndNameCell
 
 @implementation TNodeIconAndNameCell     
 - (const TFENode&) node {
-// CHECK: call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.TFENode* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
-// CHECK-NEXT: call void @_ZNK7TFENode6GetURLEv(%struct.TFENode* {{[^,]*}} %{{.*}})
+// CHECK: call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @objc_msgSend
+// CHECK-NEXT: call void @_ZNK7TFENode6GetURLEv(ptr {{[^,]*}} %{{.*}})
 	self.node.GetURL();
 }	// expected-warning {{non-void function does not return a value}}
 @end
@@ -27,12 +27,12 @@ @interface A
 - (const X&) target;
 @end
 void f1(A *a) {
-// CHECK: [[PRP:%.*]] = call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.X* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
-// CHECK-NEXT:call void @_Z2f0RK1X(%struct.X* noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[PRP]])
+// CHECK: [[PRP:%.*]] = call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @objc_msgSend
+// CHECK-NEXT:call void @_Z2f0RK1X(ptr noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[PRP]])
   f0(a.target);
 
-// CHECK: [[MSG:%.*]] = call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.X* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
-// CHECK-NEXT:call void @_Z2f0RK1X(%struct.X* noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[MSG]])
+// CHECK: [[MSG:%.*]] = call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @objc_msgSend
+// CHECK-NEXT:call void @_Z2f0RK1X(ptr noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[MSG]])
   f0([a target]);
 }
 
@@ -51,12 +51,12 @@ void test2() {
     void(obj.myGetter);
 }
 // CHECK-LABEL: define{{.*}} void @_Z5test2v()
-// CHECK: call noundef i32 bitcast
-// CHECK: call noundef double bitcast
-// CHECK: call noundef i32 bitcast
-// CHECK: call noundef double bitcast
-// CHECK: call noundef i32 bitcast
-// CHECK: call noundef double bitcast
+// CHECK: call noundef i32
+// CHECK: call noundef double
+// CHECK: call noundef i32
+// CHECK: call noundef double
+// CHECK: call noundef i32
+// CHECK: call noundef double
 
 // PR8751
 int test3(Test2 *obj) { return obj.myProperty; }

diff  --git a/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm b/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
index 1253ae6d45b04..ddb0bf5570926 100644
--- a/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
+++ b/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -fblocks -disable-llvm-passes -triple x86_64-apple-darwin10 -std=c++17 -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -no-enable-noundef-analysis -fblocks -disable-llvm-passes -triple x86_64-apple-darwin10 -std=c++17 -emit-llvm -o - %s | FileCheck %s
 
 typedef void (^blk_t)();
 typedef void (*fnptr_t)();
@@ -19,12 +19,12 @@ void t1(X *x) {
   // Check that we call lambda.operator blk_t(), and that we send that result to
   // the setter.
 
-  // CHECK: [[CALL:%.*]] = call void ()* @"_ZZ2t1P1XENK3$_0cvU13block_pointerFvvEEv"
-  // CHECK: call void{{.*}}@objc_msgSend{{.*}}({{.*}} void ()* [[CALL]])
+  // CHECK: [[CALL:%.*]] = call ptr @"_ZZ2t1P1XENK3$_0cvU13block_pointerFvvEEv"
+  // CHECK: call void{{.*}}@objc_msgSend{{.*}}({{.*}} ptr [[CALL]])
   x.blk = [] {};
 
-  // CHECK: [[CALL2:%.*]] = call void ()* @"_ZZ2t1P1XENK3$_1cvPFvvEEv"
-  // CHECK: call void{{.*}}@objc_msgSend{{.*}}({{.*}} void ()* [[CALL2]])
+  // CHECK: [[CALL2:%.*]] = call ptr @"_ZZ2t1P1XENK3$_1cvPFvvEEv"
+  // CHECK: call void{{.*}}@objc_msgSend{{.*}}({{.*}} ptr [[CALL2]])
   x.fnptr = [] {};
 }
 
@@ -35,13 +35,13 @@ void t2(X *x) {
 
   // [x setBlk: operator+([x blk], [] {})]
 
-  // CHECK: call void{{.*}}@objc_msgSend{{.*}}
-  // CHECK: [[PLUS:%.*]] = call void ()* @"_ZplIZ2t2P1XE3$_0EU13block_pointerFvvES4_T_"
+  // CHECK: call ptr{{.*}}@objc_msgSend{{.*}}
+  // CHECK: [[PLUS:%.*]] = call ptr @"_ZplIZ2t2P1XE3$_0EU13block_pointerFvvES4_T_"
   // CHECK: call void{{.*}}@objc_msgSend{{.*}}({{.*}} [[PLUS]])
   x.blk += [] {};
 
-  // CHECK: call void{{.*}}@objc_msgSend{{.*}}
-  // CHECK: [[PLUS:%.*]] = call void ()* @"_ZplIZ2t2P1XE3$_1EPFvvES4_T_"
+  // CHECK: call ptr{{.*}}@objc_msgSend{{.*}}
+  // CHECK: [[PLUS:%.*]] = call ptr @"_ZplIZ2t2P1XE3$_1EPFvvES4_T_"
   // CHECK: call void{{.*}}@objc_msgSend{{.*}}({{.*}} [[PLUS]])
   x.fnptr += [] {};
 }

diff  --git a/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm b/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm
index 3fb75d9a3e41e..892f46f5733a2 100644
--- a/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm
+++ b/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - %s | FileCheck %s
 
 struct CGRect {
   char* origin;
@@ -22,12 +22,11 @@ - (void)bar {
     CGRect dataRect;
     CGRect virtualBounds;
 
-// CHECK: [[SRC:%.*]] = call { i8*, i32 } bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
-// CHECK-NEXT: bitcast
-// CHECK-NEXT:getelementptr inbounds { i8*, i32 }, { i8*, i32 }* [[SRC:%.*]]
+// CHECK: [[SRC:%.*]] = call { ptr, i32 } @objc_msgSend
+// CHECK-NEXT:getelementptr inbounds { ptr, i32 }, ptr [[SRC:%.*]]
 // CHECK-NEXT:extractvalue
 // CHECK-NEXT:store
-// CHECK-NEXT:getelementptr inbounds { i8*, i32 }, { i8*, i32 }* [[SRC:%.*]]
+// CHECK-NEXT:getelementptr inbounds { ptr, i32 }, ptr [[SRC:%.*]]
 // CHECK-NEXT:extractvalue
 // CHECK-NEXT:store
   dataRect = CGRectIsEmpty(virtualBounds) ? self.bounds : virtualBounds;

diff  --git a/clang/test/CodeGenObjCXX/property-object-reference-1.mm b/clang/test/CodeGenObjCXX/property-object-reference-1.mm
index 7830b12f6e98c..ccbbec388362f 100644
--- a/clang/test/CodeGenObjCXX/property-object-reference-1.mm
+++ b/clang/test/CodeGenObjCXX/property-object-reference-1.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -no-opaque-pointers -x objective-c++ %s -triple x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 -x objective-c++ %s -triple x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
 // rdar://6137845
 
 struct TCPPObject
@@ -24,8 +24,7 @@ @implementation MyDocument
 
 @end
 
-// CHECK: [[cppObjectaddr:%.*]] = alloca %struct.TCPPObject*, align 8
-// CHECK: store %struct.TCPPObject* [[cppObject:%.*]], %struct.TCPPObject** [[cppObjectaddr]], align 8
-// CHECK:  [[THREE:%.*]] = load %struct.TCPPObject*, %struct.TCPPObject** [[cppObjectaddr]], align 8
-// CHECK:  [[FOUR:%.*]] = bitcast %struct.TCPPObject* [[THREE]] to i8*
-// CHECK:  call void @objc_copyStruct(i8* noundef [[TWO:%.*]], i8* noundef [[FOUR]], i64 noundef 256, i1 noundef zeroext true, i1 noundef zeroext false)
+// CHECK: [[cppObjectaddr:%cppObject.addr]] = alloca ptr, align 8
+// CHECK: store ptr [[cppObject:%.*]], ptr [[cppObjectaddr]], align 8
+// CHECK:  [[THREE:%.*]] = load ptr, ptr [[cppObjectaddr]], align 8
+// CHECK:  call void @objc_copyStruct(ptr noundef [[TWO:%.*]], ptr noundef [[THREE]], i64 noundef 256, i1 noundef zeroext true, i1 noundef zeroext false)

diff  --git a/clang/test/CodeGenObjCXX/property-object-reference.mm b/clang/test/CodeGenObjCXX/property-object-reference.mm
index 12449b867a863..f31371cf5231f 100644
--- a/clang/test/CodeGenObjCXX/property-object-reference.mm
+++ b/clang/test/CodeGenObjCXX/property-object-reference.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -no-opaque-pointers %s -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - | FileCheck %s
 // rdar://10188258
 
 struct Foo {int i;};
@@ -24,12 +24,10 @@ -(void) test {
 - (void)setFooProperty : (Foo &) arg {  };
 @end
 
-// CHECK: [[T0:%.*]] = load {{%.*}} [[S0:%.*]]
-// CHECK:  [[T2:%.*]]  = bitcast {{%.*}} [[T0]] to i8*
-// CHECK: load i8*, i8** @OBJC_SELECTOR_REFERENCES_
+// CHECK: [[T0:%.*]] = load {{.*}} [[S0:%.*]]
+// CHECK: load ptr, ptr @OBJC_SELECTOR_REFERENCES_
 // CHECK:  @objc_msgSend
-// CHECK: [[R0:%.*]] = load {{%.*}} [[U0:%.*]]
-// CHECK:  [[R2:%.*]]  = bitcast {{%.*}} [[R0]] to i8*
-// CHECK: load i8*, i8** @OBJC_SELECTOR_REFERENCES_
+// CHECK: [[R0:%.*]] = load {{.*}} [[U0:%.*]]
+// CHECK: load ptr, ptr @OBJC_SELECTOR_REFERENCES_
 // CHECK:  @objc_msgSend
 

diff  --git a/clang/test/CodeGenObjCXX/property-objects.mm b/clang/test/CodeGenObjCXX/property-objects.mm
index 5c6e87796a559..5ef535f48a4ae 100644
--- a/clang/test/CodeGenObjCXX/property-objects.mm
+++ b/clang/test/CodeGenObjCXX/property-objects.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -no-opaque-pointers %s -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -debug-info-kind=limited -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -debug-info-kind=limited -o - | FileCheck %s
 
 class S {
 public:
@@ -32,7 +32,7 @@ @implementation I
 @synthesize frame;
 
 // CHECK: define internal void @"\01-[I setPosition:]"
-// CHECK: call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %class.S* @_ZN1SaSERKS_
+// CHECK: call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @_ZN1SaSERKS_
 // CHECK-NEXT: ret void
 
 // Don't attach debug locations to the prologue instructions. These were
@@ -60,8 +60,8 @@ - (struct CGRect)extent {return bounds;}
 @end
 
 // CHECK-LABEL: define{{.*}} i32 @main
-// CHECK: call void @_ZN1SC1ERKS_(%class.S* {{[^,]*}} [[AGGTMP:%[a-zA-Z0-9\.]+]], %class.S* noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) {{%[a-zA-Z0-9\.]+}})
-// CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %class.S*)*)(i8* noundef {{%[a-zA-Z0-9\.]+}}, i8* noundef {{%[a-zA-Z0-9\.]+}}, %class.S* noundef [[AGGTMP]])
+// CHECK: call void @_ZN1SC1ERKS_(ptr {{[^,]*}} [[AGGTMP:%[a-zA-Z0-9\.]+]], ptr noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) {{%[a-zA-Z0-9\.]+}})
+// CHECK: call void @objc_msgSend(ptr noundef {{%[a-zA-Z0-9\.]+}}, ptr noundef {{%[a-zA-Z0-9\.]+}}, ptr noundef [[AGGTMP]])
 // CHECK-NEXT: ret i32 0
 int main() {
   I *i;
@@ -72,9 +72,9 @@ int main() {
 
 // rdar://8379892
 // CHECK-LABEL: define{{.*}} void @_Z1fP1A
-// CHECK: call void @_ZN1XC1Ev(%struct.X* {{[^,]*}} [[LVTEMP:%[a-zA-Z0-9\.]+]])
-// CHECK: call void @_ZN1XC1ERKS_(%struct.X* {{[^,]*}} [[AGGTMP:%[a-zA-Z0-9\.]+]], %struct.X* noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[LVTEMP]])
-// CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %struct.X*)*)({{.*}} %struct.X* noundef [[AGGTMP]])
+// CHECK: call void @_ZN1XC1Ev(ptr {{[^,]*}} [[LVTEMP:%[a-zA-Z0-9\.]+]])
+// CHECK: call void @_ZN1XC1ERKS_(ptr {{[^,]*}} [[AGGTMP:%[a-zA-Z0-9\.]+]], ptr noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[LVTEMP]])
+// CHECK: call void @objc_msgSend({{.*}} ptr noundef [[AGGTMP]])
 struct X {
   X();
   X(const X&);
@@ -116,32 +116,32 @@ void testB0(B *b) {
 void testB1(B *b) {
   b.b1 += { b_makeInt() };
 }
-// CHECK:    define{{.*}} void @_Z6testB0P1B([[B:%.*]]*
-// CHECK:      [[BVAR:%.*]] = alloca [[B]]*, align 8
+// CHECK:    define{{.*}} void @_Z6testB0P1B(ptr
+// CHECK:      [[BVAR:%.*]] = alloca ptr, align 8
 // CHECK:      [[TEMP:%.*]] = alloca [[B0:%.*]], align 8
-// CHECK:      [[X:%.*]] = getelementptr inbounds [[B0]], [[B0]]* [[TEMP]], i32 0, i32 0
+// CHECK:      [[X:%.*]] = getelementptr inbounds [[B0]], ptr [[TEMP]], i32 0, i32 0
 // CHECK-NEXT: [[T0:%.*]] = call noundef i32 @_Z9b_makeIntv()
 // CHECK-NEXT: [[T1:%.*]] = sext i32 [[T0]] to i64
-// CHECK-NEXT: store i64 [[T1]], i64* [[X]], align 8
-// CHECK:      load [[B]]*, [[B]]** [[BVAR]]
+// CHECK-NEXT: store i64 [[T1]], ptr [[X]], align 8
+// CHECK:      load ptr, ptr [[BVAR]]
 // CHECK-NOT:  call
 // CHECK:      call void @llvm.memcpy
 // CHECK-NOT:  call
-// CHECK:      call void bitcast {{.*}} @objc_msgSend
+// CHECK:      call void @objc_msgSend
 // CHECK-NOT:  call
 // CHECK:      ret void
 
-// CHECK:    define{{.*}} void @_Z6testB1P1B([[B]]*
-// CHECK:      [[BVAR:%.*]] = alloca [[B]]*, align 8
-// CHECK:      load [[B]]*, [[B]]** [[BVAR]]
+// CHECK:    define{{.*}} void @_Z6testB1P1B(ptr
+// CHECK:      [[BVAR:%.*]] = alloca ptr, align 8
+// CHECK:      load ptr, ptr [[BVAR]]
 // CHECK-NOT:  call
-// CHECK:      [[T0:%.*]] = call i64 bitcast {{.*}} @objc_msgSend
+// CHECK:      [[T0:%.*]] = call i64 @objc_msgSend
 // CHECK-NOT:  call
 // CHECK:      store i64 [[T0]],
 // CHECK-NOT:  call
 // CHECK:      [[T0:%.*]] = call noundef i32 @_Z9b_makeIntv()
 // CHECK-NEXT: [[T1:%.*]] = sext i32 [[T0]] to i64
-// CHECK-NEXT: store i64 [[T1]], i64* {{.*}}, align 8
+// CHECK-NEXT: store i64 [[T1]], ptr {{.*}}, align 8
 // CHECK-NOT:  call
 // CHECK:      [[T0:%.*]] = call i64 @_Zpl2B1S_
 // CHECK-NOT:  call
@@ -149,7 +149,7 @@ void testB1(B *b) {
 // CHECK-NOT:  call
 // CHECK:      call void @llvm.memcpy
 // CHECK-NOT:  call
-// CHECK:      call void bitcast {{.*}} @objc_msgSend
+// CHECK:      call void @objc_msgSend
 // CHECK-NOT:  call
 // CHECK:      ret void
 
@@ -159,18 +159,18 @@ void testB2(B *b) {
   b.b2 = { B3() };
 }
 
-// CHECK:    define{{.*}} void @_Z6testB2P1B([[B]]*
-// CHECK:      [[BVAR:%.*]] = alloca [[B]]*, align 8
+// CHECK:    define{{.*}} void @_Z6testB2P1B(ptr
+// CHECK:      [[BVAR:%.*]] = alloca ptr, align 8
 // CHECK:      call void @llvm.dbg.declare(
 // CHECK:      call void @_ZN2B3C1Ev(
 // CHECK-NEXT: [[T0:%.*]] = call i64 @_ZN2B3cv2B1Ev(
 // CHECK-NOT:  call
 // CHECK:      store i64 [[T0]],
-// CHECK:      load [[B]]*, [[B]]** [[BVAR]]
+// CHECK:      load ptr, ptr [[BVAR]]
 // CHECK-NOT:  call
 // CHECK:      call void @llvm.memcpy
 // CHECK-NOT:  call
-// CHECK:      call void bitcast {{.*}} @objc_msgSend
+// CHECK:      call void @objc_msgSend
 // CHECK-NOT:  call
 // CHECK:      ret void
 
@@ -191,24 +191,24 @@ void testC0(C *c) {
   c.c0 = c_helper;
   c.c0 = &c_helper;
 }
-// CHECK:    define{{.*}} void @_Z6testC0P1C([[C:%.*]]*
-// CHECK:      [[CVAR:%.*]] = alloca [[C]]*, align 8
-// CHECK:      load [[C]]*, [[C]]** [[CVAR]]
+// CHECK:    define{{.*}} void @_Z6testC0P1C(ptr
+// CHECK:      [[CVAR:%.*]] = alloca ptr, align 8
+// CHECK:      load ptr, ptr [[CVAR]]
 // CHECK-NOT:  call
-// CHECK:      call void bitcast {{.*}} @objc_msgSend {{.*}} @_Z8c_helperv
+// CHECK:      call void @objc_msgSend({{.*}} @_Z8c_helperv
 // CHECK-NOT:  call
-// CHECK:      call void bitcast {{.*}} @objc_msgSend {{.*}} @_Z8c_helperv
+// CHECK:      call void @objc_msgSend({{.*}} @_Z8c_helperv
 // CHECK-NOT:  call
 // CHECK:      ret void
 
 void testC1(C *c) {
   c.c1 += c_helper;
 }
-// CHECK:    define{{.*}} void @_Z6testC1P1C([[C]]*
-// CHECK:      [[CVAR:%.*]] = alloca [[C]]*, align 8
-// CHECK:      load [[C]]*, [[C]]** [[CVAR]]
+// CHECK:    define{{.*}} void @_Z6testC1P1C(ptr
+// CHECK:      [[CVAR:%.*]] = alloca ptr, align 8
+// CHECK:      load ptr, ptr [[CVAR]]
 // CHECK-NOT:  call
-// CHECK:      [[T0:%.*]] = call i32 bitcast {{.*}} @objc_msgSend
+// CHECK:      [[T0:%.*]] = call i32 @objc_msgSend
 // CHECK-NOT:  call
 // CHECK:      store i32 [[T0]],
 // CHECK-NOT:  call
@@ -218,6 +218,6 @@ void testC1(C *c) {
 // CHECK-NOT:  call
 // CHECK:      call void @llvm.memcpy
 // CHECK-NOT:  call
-// CHECK:      call void bitcast {{.*}} @objc_msgSend
+// CHECK:      call void @objc_msgSend
 // CHECK-NOT:  call
 // CHECK:      ret void

diff  --git a/clang/test/CodeGenObjCXX/property-reference.mm b/clang/test/CodeGenObjCXX/property-reference.mm
index c07ecd9a95548..43d7570b545ce 100644
--- a/clang/test/CodeGenObjCXX/property-reference.mm
+++ b/clang/test/CodeGenObjCXX/property-reference.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -no-opaque-pointers %s -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - | FileCheck %s
 // rdar://9208606
 
 struct MyStruct {
@@ -26,8 +26,8 @@ void test0() {
   const MyStruct& currentMyStruct = myClass.foo;   
 }
 
-// CHECK: [[C:%.*]] = call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.MyStruct* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
-// CHECK:   store %struct.MyStruct* [[C]], %struct.MyStruct** [[D:%.*]]
+// CHECK: [[C:%.*]] = call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @objc_msgSend
+// CHECK:   store ptr [[C]], ptr [[D:%.*]]
 
 namespace test1 {
   struct A { A(); A(const A&); A&operator=(const A&); ~A(); };
@@ -40,16 +40,14 @@ @interface Test1 {
 @implementation Test1
 @synthesize prop1 = ivar;
 @end
-// CHECK:    define internal noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[A:%.*]]* @"\01-[Test1 prop1]"(
-// CHECK:      [[SELF:%.*]] = alloca [[TEST1:%.*]]*, align 8
-// CHECK:      [[T0:%.*]] = load [[TEST1]]*, [[TEST1]]** [[SELF]]
-// CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST1]]* [[T0]] to i8*
-// CHECK-NEXT: [[T2:%.*]] = getelementptr inbounds i8, i8* [[T1]], i64 0
-// CHECK-NEXT: [[T3:%.*]] = bitcast i8* [[T2]] to [[A]]*
-// CHECK-NEXT: ret [[A]]* [[T3]]
+// CHECK:    define internal noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @"\01-[Test1 prop1]"(
+// CHECK:      [[SELF:%.*]] = alloca ptr, align 8
+// CHECK:      [[T0:%.*]] = load ptr, ptr [[SELF]]
+// CHECK-NEXT: [[T2:%.*]] = getelementptr inbounds i8, ptr [[T0]], i64 0
+// CHECK-NEXT: ret ptr [[T2]]
 
 // CHECK:    define internal void @"\01-[Test1 setProp1:]"(
-// CHECK:      call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[A]]* @_ZN5test11AaSERKS0_(
+// CHECK:      call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @_ZN5test11AaSERKS0_(
 // CHECK-NEXT: ret void
 
 // rdar://problem/10497174
@@ -67,11 +65,11 @@ @interface Test2
 // CHECK-LABEL: define weak_odr void @_Z5test2IiEvP5Test2(
 // CHECK: [[X:%.*]] = alloca i32,
 // CHECK:      @objc_msgSend
-// CHECK:      store i32 {{%.*}}, i32* [[X]],
-// CHECK:      load i32, i32* [[X]],
+// CHECK:      store i32 {{%.*}}, ptr [[X]],
+// CHECK:      load i32, ptr [[X]],
 // CHECK:      @objc_msgSend
 // CHECK:      @objc_msgSend
-// CHECK:      load i32, i32* [[X]],
+// CHECK:      load i32, ptr [[X]],
 // CHECK-NEXT: add nsw
 // CHECK:      @objc_msgSend
 // CHECK-NEXT: ret void
@@ -86,11 +84,11 @@ @interface Test2
 // CHECK-LABEL: define weak_odr void @_Z5test3IiEvP5Test2(
 // CHECK: [[X:%.*]] = alloca i32,
 // CHECK:      @objc_msgSend
-// CHECK:      store i32 {{%.*}}, i32* [[X]],
-// CHECK:      load i32, i32* [[X]],
+// CHECK:      store i32 {{%.*}}, ptr [[X]],
+// CHECK:      load i32, ptr [[X]],
 // CHECK:      @objc_msgSend
 // CHECK:      @objc_msgSend
-// CHECK:      load i32, i32* [[X]],
+// CHECK:      load i32, ptr [[X]],
 // CHECK-NEXT: add nsw
 // CHECK:      @objc_msgSend
 // CHECK-NEXT: ret void


        


More information about the cfe-commits mailing list