diff options
Diffstat (limited to 'test/CodeGen/x86_32-arguments-darwin.c')
-rw-r--r-- | test/CodeGen/x86_32-arguments-darwin.c | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/test/CodeGen/x86_32-arguments-darwin.c b/test/CodeGen/x86_32-arguments-darwin.c index 4aa4295..422e030 100644 --- a/test/CodeGen/x86_32-arguments-darwin.c +++ b/test/CodeGen/x86_32-arguments-darwin.c @@ -1,44 +1,44 @@ // RUN: %clang_cc1 -w -fblocks -triple i386-apple-darwin9 -target-cpu yonah -emit-llvm -o - %s | FileCheck %s -// CHECK: define signext i8 @f0() +// CHECK-LABEL: define signext i8 @f0() char f0(void) { return 0; } -// CHECK: define signext i16 @f1() +// CHECK-LABEL: define signext i16 @f1() short f1(void) { return 0; } -// CHECK: define i32 @f2() +// CHECK-LABEL: define i32 @f2() int f2(void) { return 0; } -// CHECK: define float @f3() +// CHECK-LABEL: define float @f3() float f3(void) { return 0; } -// CHECK: define double @f4() +// CHECK-LABEL: define double @f4() double f4(void) { return 0; } -// CHECK: define x86_fp80 @f5() +// CHECK-LABEL: define x86_fp80 @f5() long double f5(void) { return 0; } -// CHECK: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4) +// CHECK-LABEL: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4) void f6(char a0, short a1, int a2, long long a3, void *a4) {} -// CHECK: define void @f7(i32 %a0) +// CHECK-LABEL: define void @f7(i32 %a0) typedef enum { A, B, C } e7; void f7(e7 a0) {} -// CHECK: define i64 @f8_1() -// CHECK: define void @f8_2(i32 %a0.0, i32 %a0.1) +// CHECK-LABEL: define i64 @f8_1() +// CHECK-LABEL: define void @f8_2(i32 %a0.0, i32 %a0.1) struct s8 { int a; int b; @@ -48,11 +48,11 @@ void f8_2(struct s8 a0) {} // This should be passed just as s8. -// CHECK: define i64 @f9_1() +// CHECK-LABEL: define i64 @f9_1() // FIXME: llvm-gcc expands this, this may have some value for the // backend in terms of optimization but doesn't change the ABI. -// CHECK: define void @f9_2(%struct.s9* byval align 4 %a0) +// CHECK-LABEL: define void @f9_2(%struct.s9* byval align 4 %a0) struct s9 { int a : 17; int b; @@ -123,91 +123,91 @@ struct s27 { struct { char a, b, c; } a; struct { char a; } b; } f27(void) { whi // CHECK: void @f28(%struct.s28* noalias sret %agg.result) struct s28 { int a; int b[]; } f28(void) { while (1) {} } -// CHECK: define i16 @f29() +// CHECK-LABEL: define i16 @f29() struct s29 { struct { } a[1]; char b; char c; } f29(void) { while (1) {} } -// CHECK: define i16 @f30() +// CHECK-LABEL: define i16 @f30() struct s30 { char a; char b : 4; } f30(void) { while (1) {} } -// CHECK: define float @f31() +// CHECK-LABEL: define float @f31() struct s31 { char : 0; float b; char : 0; } f31(void) { while (1) {} } -// CHECK: define i32 @f32() +// CHECK-LABEL: define i32 @f32() struct s32 { char a; unsigned : 0; } f32(void) { while (1) {} } -// CHECK: define float @f33() +// CHECK-LABEL: define float @f33() struct s33 { float a; long long : 0; } f33(void) { while (1) {} } -// CHECK: define float @f34() +// CHECK-LABEL: define float @f34() struct s34 { struct { int : 0; } a; float b; } f34(void) { while (1) {} } -// CHECK: define i16 @f35() +// CHECK-LABEL: define i16 @f35() struct s35 { struct { int : 0; } a; char b; char c; } f35(void) { while (1) {} } -// CHECK: define i16 @f36() +// CHECK-LABEL: define i16 @f36() struct s36 { struct { int : 0; } a[2][10]; char b; char c; } f36(void) { while (1) {} } -// CHECK: define float @f37() +// CHECK-LABEL: define float @f37() struct s37 { float c[1][1]; } f37(void) { while (1) {} } -// CHECK: define void @f38(%struct.s38* noalias sret %agg.result) +// CHECK-LABEL: define void @f38(%struct.s38* noalias sret %agg.result) struct s38 { char a[3]; short b; } f38(void) { while (1) {} } -// CHECK: define void @f39(%struct.s39* byval align 16 %x) +// CHECK-LABEL: define void @f39(%struct.s39* byval align 16 %x) typedef int v39 __attribute((vector_size(16))); struct s39 { v39 x; }; void f39(struct s39 x) {} // <rdar://problem/7247671> -// CHECK: define i32 @f40() +// CHECK-LABEL: define i32 @f40() enum e40 { ec0 = 0 }; enum e40 f40(void) { } -// CHECK: define void ()* @f41() +// CHECK-LABEL: define void ()* @f41() typedef void (^vvbp)(void); vvbp f41(void) { } -// CHECK: define i32 @f42() +// CHECK-LABEL: define i32 @f42() struct s42 { enum e40 f0; } f42(void) { } -// CHECK: define i64 @f43() +// CHECK-LABEL: define i64 @f43() struct s43 { enum e40 f0; int f1; } f43(void) { } -// CHECK: define void ()* @f44() +// CHECK-LABEL: define void ()* @f44() struct s44 { vvbp f0; } f44(void) { } -// CHECK: define i64 @f45() +// CHECK-LABEL: define i64 @f45() struct s45 { vvbp f0; int f1; } f45(void) { } -// CHECK: define void @f46(i32 %a0) +// CHECK-LABEL: define void @f46(i32 %a0) void f46(enum e40 a0) { } -// CHECK: define void @f47(void ()* %a1) +// CHECK-LABEL: define void @f47(void ()* %a1) void f47(vvbp a1) { } -// CHECK: define void @f48(i32 %a0.0) +// CHECK-LABEL: define void @f48(i32 %a0.0) struct s48 { enum e40 f0; }; void f48(struct s48 a0) { } -// CHECK: define void @f49(i32 %a0.0, i32 %a0.1) +// CHECK-LABEL: define void @f49(i32 %a0.0, i32 %a0.1) struct s49 { enum e40 f0; int f1; }; void f49(struct s49 a0) { } -// CHECK: define void @f50(void ()* %a0.0) +// CHECK-LABEL: define void @f50(void ()* %a0.0) struct s50 { vvbp f0; }; void f50(struct s50 a0) { } -// CHECK: define void @f51(void ()* %a0.0, i32 %a0.1) +// CHECK-LABEL: define void @f51(void ()* %a0.0, i32 %a0.1) struct s51 { vvbp f0; int f1; }; void f51(struct s51 a0) { } -// CHECK: define void @f52(%struct.s52* byval align 4) +// CHECK-LABEL: define void @f52(%struct.s52* byval align 4) struct s52 { long double a; }; void f52(struct s52 x) {} -// CHECK: define void @f53(%struct.s53* byval align 4) +// CHECK-LABEL: define void @f53(%struct.s53* byval align 4) struct __attribute__((aligned(32))) s53 { int x; int y; @@ -216,18 +216,18 @@ void f53(struct s53 x) {} typedef unsigned short v2i16 __attribute__((__vector_size__(4))); -// CHECK: define i32 @f54(i32 %arg.coerce) +// CHECK-LABEL: define i32 @f54(i32 %arg.coerce) // rdar://8359483 v2i16 f54(v2i16 arg) { return arg+arg; } typedef int v4i32 __attribute__((__vector_size__(16))); -// CHECK: define <2 x i64> @f55(<4 x i32> %arg) +// CHECK-LABEL: define <2 x i64> @f55(<4 x i32> %arg) // PR8029 v4i32 f55(v4i32 arg) { return arg+arg; } -// CHECK: define void @f56( +// CHECK-LABEL: define void @f56( // CHECK: i8 signext %a0, %struct.s56_0* byval align 4 %a1, // CHECK: i64 %a2.coerce, %struct.s56_1* byval align 4, // CHECK: i64 %a4.coerce, %struct.s56_2* byval align 4, @@ -276,34 +276,34 @@ void f56(char a0, struct s56_0 a1, a10, a11, a12, a13); } -// CHECK: define void @f57(i32 %x.0, i32 %x.1) +// CHECK-LABEL: define void @f57(i32 %x.0, i32 %x.1) // CHECK: call void @f57( struct s57 { _Complex int x; }; void f57(struct s57 x) {} void f57a(void) { f57((struct s57){1}); } -// CHECK: define void @f58() +// CHECK-LABEL: define void @f58() union u58 {}; void f58(union u58 x) {} -// CHECK: define i64 @f59() +// CHECK-LABEL: define i64 @f59() struct s59 { float x __attribute((aligned(8))); }; struct s59 f59() { while (1) {} } -// CHECK: define void @f60(%struct.s60* byval align 4, i32 %y) +// CHECK-LABEL: define void @f60(%struct.s60* byval align 4, i32 %y) struct s60 { int x __attribute((aligned(8))); }; void f60(struct s60 x, int y) {} -// CHECK: define void @f61(i32 %x, %struct.s61* byval align 16 %y) +// CHECK-LABEL: define void @f61(i32 %x, %struct.s61* byval align 16 %y) typedef int T61 __attribute((vector_size(16))); struct s61 { T61 x; int y; }; void f61(int x, struct s61 y) {} -// CHECK: define void @f62(i32 %x, %struct.s62* byval align 4) +// CHECK-LABEL: define void @f62(i32 %x, %struct.s62* byval align 4) typedef int T62 __attribute((vector_size(16))); struct s62 { T62 x; int y; } __attribute((packed, aligned(8))); void f62(int x, struct s62 y) {} -// CHECK: define i32 @f63 +// CHECK-LABEL: define i32 @f63 // CHECK: ptrtoint // CHECK: and {{.*}}, -16 // CHECK: inttoptr @@ -317,15 +317,15 @@ int f63(int i, ...) { return s.y; } -// CHECK: define void @f64(%struct.s64* byval align 4 %x) +// CHECK-LABEL: define void @f64(%struct.s64* byval align 4 %x) struct s64 { signed char a[0]; signed char b[]; }; void f64(struct s64 x) {} -// CHECK: define float @f65() +// CHECK-LABEL: define float @f65() struct s65 { signed char a[0]; float b; }; struct s65 f65() { return (struct s65){{},2}; } -// CHECK: define <2 x i64> @f66 +// CHECK-LABEL: define <2 x i64> @f66 // CHECK: ptrtoint // CHECK: and {{.*}}, -16 // CHECK: inttoptr @@ -341,4 +341,4 @@ T66 f66(int i, ...) { // PR14453 struct s67 { _Complex unsigned short int a; }; void f67(struct s67 x) {} -// CHECK: define void @f67(%struct.s67* byval align 4 %x) +// CHECK-LABEL: define void @f67(%struct.s67* byval align 4 %x) |