diff options
author | Tim Northover <tnorthover@apple.com> | 2019-06-05 21:12:14 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2019-06-05 21:12:14 +0000 |
commit | c46827c7eda30cd0bc3e70d08670c8dc39fe6166 (patch) | |
tree | dc817e1eb1cc273a480022199190880af8b5d7cf /clang/test/CodeGen/x86_32-arguments-linux.c | |
parent | 9423f5ef56d23c099987ceec2a140fe9efa47934 (diff) | |
download | bcm5719-llvm-c46827c7eda30cd0bc3e70d08670c8dc39fe6166.tar.gz bcm5719-llvm-c46827c7eda30cd0bc3e70d08670c8dc39fe6166.zip |
LLVM IR: Generate new-style byval-with-Type from Clang
LLVM IR recently added a Type parameter to the byval Attribute, so that
when pointers become opaque and no longer have an element type the
information will still be present in IR.
For now the Type parameter is optional (which is why Clang didn't need
this change at the time), but it will become mandatory soon.
llvm-svn: 362652
Diffstat (limited to 'clang/test/CodeGen/x86_32-arguments-linux.c')
-rw-r--r-- | clang/test/CodeGen/x86_32-arguments-linux.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/clang/test/CodeGen/x86_32-arguments-linux.c b/clang/test/CodeGen/x86_32-arguments-linux.c index 02eac51216a..3c64fbcc15b 100644 --- a/clang/test/CodeGen/x86_32-arguments-linux.c +++ b/clang/test/CodeGen/x86_32-arguments-linux.c @@ -2,22 +2,22 @@ // RUN: FileCheck < %t %s // 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: <1 x double> %a4, %struct.s56_2* byval align 4, -// CHECK: <4 x i32> %a6, %struct.s56_3* byval align 4, -// CHECK: <2 x double> %a8, %struct.s56_4* byval align 4, -// CHECK: <8 x i32> %a10, %struct.s56_5* byval align 4, -// CHECK: <4 x double> %a12, %struct.s56_6* byval align 4) +// CHECK: i8 signext %a0, %struct.s56_0* byval(%struct.s56_0) align 4 %a1, +// CHECK: i64 %a2.coerce, %struct.s56_1* byval(%struct.s56_1) align 4, +// CHECK: <1 x double> %a4, %struct.s56_2* byval(%struct.s56_2) align 4, +// CHECK: <4 x i32> %a6, %struct.s56_3* byval(%struct.s56_3) align 4, +// CHECK: <2 x double> %a8, %struct.s56_4* byval(%struct.s56_4) align 4, +// CHECK: <8 x i32> %a10, %struct.s56_5* byval(%struct.s56_5) align 4, +// CHECK: <4 x double> %a12, %struct.s56_6* byval(%struct.s56_6) align 4) // CHECK: call void (i32, ...) @f56_0(i32 1, -// CHECK: i32 %{{.*}}, %struct.s56_0* byval align 4 %{{[^ ]*}}, -// CHECK: i64 %{{[^ ]*}}, %struct.s56_1* byval align 4 %{{[^ ]*}}, -// CHECK: <1 x double> %{{[^ ]*}}, %struct.s56_2* byval align 4 %{{[^ ]*}}, -// CHECK: <4 x i32> %{{[^ ]*}}, %struct.s56_3* byval align 4 %{{[^ ]*}}, -// CHECK: <2 x double> %{{[^ ]*}}, %struct.s56_4* byval align 4 %{{[^ ]*}}, -// CHECK: <8 x i32> %{{[^ ]*}}, %struct.s56_5* byval align 4 %{{[^ ]*}}, -// CHECK: <4 x double> %{{[^ ]*}}, %struct.s56_6* byval align 4 %{{[^ ]*}}) +// CHECK: i32 %{{.*}}, %struct.s56_0* byval(%struct.s56_0) align 4 %{{[^ ]*}}, +// CHECK: i64 %{{[^ ]*}}, %struct.s56_1* byval(%struct.s56_1) align 4 %{{[^ ]*}}, +// CHECK: <1 x double> %{{[^ ]*}}, %struct.s56_2* byval(%struct.s56_2) align 4 %{{[^ ]*}}, +// CHECK: <4 x i32> %{{[^ ]*}}, %struct.s56_3* byval(%struct.s56_3) align 4 %{{[^ ]*}}, +// CHECK: <2 x double> %{{[^ ]*}}, %struct.s56_4* byval(%struct.s56_4) align 4 %{{[^ ]*}}, +// CHECK: <8 x i32> %{{[^ ]*}}, %struct.s56_5* byval(%struct.s56_5) align 4 %{{[^ ]*}}, +// CHECK: <4 x double> %{{[^ ]*}}, %struct.s56_6* byval(%struct.s56_6) align 4 %{{[^ ]*}}) // CHECK: } // // <rdar://problem/7964854> [i386] clang misaligns long double in structures |