Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenObjC / property-array-type.m
blob0405a78738ab73b98b4a455d5937af44c2b8767d
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10  -emit-llvm -o - %s | FileCheck %s
3 struct _GLKMatrix4
5     float m[16];
6 };
7 typedef struct _GLKMatrix4 GLKMatrix4;
9 @interface NSObject @end
11 @interface MyProgram
12 - (void)setTransform:(float[16])transform;
13 @end
15 @interface ViewController
16 @property (nonatomic, assign) GLKMatrix4 transform;
17 @end
19 @implementation ViewController
20 - (void)viewDidLoad {
21   MyProgram *program;
22   program.transform = self.transform.m;
24 @end
26 // CHECK: [[M:%.*]] = getelementptr inbounds %struct._GLKMatrix4, ptr [[TMP:%.*]], i32 0, i32 0
27 // CHECK: [[ARRAYDECAY:%.*]] = getelementptr inbounds [16 x float], ptr [[M]], i64 0, i64 0
28 // CHECK: [[SIX:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES
29 // CHECK:  call void @objc_msgSend(ptr noundef [[SEVEN:%.*]], ptr noundef [[SIX]], ptr noundef [[ARRAYDECAY]])