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-iamcu.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-iamcu.c')
-rw-r--r-- | clang/test/CodeGen/x86_32-arguments-iamcu.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/test/CodeGen/x86_32-arguments-iamcu.c b/clang/test/CodeGen/x86_32-arguments-iamcu.c index b53d34a3e83..e391c711ea1 100644 --- a/clang/test/CodeGen/x86_32-arguments-iamcu.c +++ b/clang/test/CodeGen/x86_32-arguments-iamcu.c @@ -40,10 +40,10 @@ void smallStructs(st4_t st1, st4_t st2, st4_t st3) {} // CHECK-LABEL: define void @paddedStruct(i32 %i1, i32 %st.coerce0, i32 %st.coerce1, i32 %st4.0) void paddedStruct(int i1, st5_t st, st4_t st4) {} -// CHECK-LABEL: define void @largeStructBegin(%struct.st12_t* byval align 4 %st) +// CHECK-LABEL: define void @largeStructBegin(%struct.st12_t* byval(%struct.st12_t) align 4 %st) void largeStructBegin(st12_t st) {} -// CHECK-LABEL: define void @largeStructMiddle(i32 %i1, %struct.st12_t* byval align 4 %st, i32 %i2, i32 %i3) +// CHECK-LABEL: define void @largeStructMiddle(i32 %i1, %struct.st12_t* byval(%struct.st12_t) align 4 %st, i32 %i2, i32 %i3) void largeStructMiddle(int i1, st12_t st, int i2, int i3) {} // CHECK-LABEL: define void @largeStructEnd(i32 %i1, i32 %i2, i32 %i3, i32 %st.0, i32 %st.1, i32 %st.2) @@ -58,7 +58,7 @@ st4_t retSmallStruct(st4_t r) { return r; } // CHECK-LABEL: define i64 @retPaddedStruct(i32 %r.coerce0, i32 %r.coerce1) st5_t retPaddedStruct(st5_t r) { return r; } -// CHECK-LABEL: define void @retLargeStruct(%struct.st12_t* noalias sret %agg.result, i32 %i1, %struct.st12_t* byval align 4 %r) +// CHECK-LABEL: define void @retLargeStruct(%struct.st12_t* noalias sret %agg.result, i32 %i1, %struct.st12_t* byval(%struct.st12_t) align 4 %r) st12_t retLargeStruct(int i1, st12_t r) { return r; } // CHECK-LABEL: define i32 @varArgs(i32 %i1, ...) |