Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenObjC / variadic-sends.m
blob0382ac7ad7b845c8846bff8031f9fff8f484ad19
1 // RUN: %clang_cc1 -triple i386-unknown-unknown -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-X86-32 %s
2 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-X86-64 %s
4 @interface A
5 -(void) im0;
6 -(void) im1: (int) x;
7 -(void) im2: (int) x, ...;
8 @end
10 void f0(A *a) {
11   // CHECK-X86-32: call void @objc_msgSend
12   // CHECK-X86-64: call void @objc_msgSend
13   [a im0];
16 void f1(A *a) {
17   // CHECK-X86-32: call void @objc_msgSend
18   // CHECK-X86-64: call void @objc_msgSend
19   [a im1: 1];
22 void f2(A *a) {
23   // CHECK-X86-32: call void (ptr, ptr, i32, ...) @objc_msgSend
24   // CHECK-X86-64: call void (ptr, ptr, i32, ...) @objc_msgSend
25   [a im2: 1, 2];
28 @interface B : A @end
29 @implementation B : A
30 -(void) foo {
31   // CHECK-X86-32: call void @objc_msgSendSuper
32   // CHECK-X86-64: call void @objc_msgSendSuper
33   [super im1: 1];
35 -(void) bar {
36   // CHECK-X86-32: call void (ptr, ptr, i32, ...) @objc_msgSendSuper
37   // CHECK-X86-64: call void (ptr, ptr, i32, ...) @objc_msgSendSuper
38   [super im2: 1, 2];
41 @end