summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/mips64-padding-arg.c
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-01-12 01:10:09 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-01-12 01:10:09 +0000
commit32604a97088b5add8ce9ad21be8b53d2e78f89af (patch)
tree205b9213f86904b2b22aaf3b6532be623b4e63d0 /clang/test/CodeGen/mips64-padding-arg.c
parent02e13e5005d93a9970a942bb1d0be43bc655c932 (diff)
downloadbcm5719-llvm-32604a97088b5add8ce9ad21be8b53d2e78f89af.tar.gz
bcm5719-llvm-32604a97088b5add8ce9ad21be8b53d2e78f89af.zip
Take into account the pointer to an aggregate that is passed as a hidden
argument when Offset is initialized. llvm-svn: 147986
Diffstat (limited to 'clang/test/CodeGen/mips64-padding-arg.c')
-rw-r--r--clang/test/CodeGen/mips64-padding-arg.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/CodeGen/mips64-padding-arg.c b/clang/test/CodeGen/mips64-padding-arg.c
index 3958807974f..faafd5e63cb 100644
--- a/clang/test/CodeGen/mips64-padding-arg.c
+++ b/clang/test/CodeGen/mips64-padding-arg.c
@@ -29,3 +29,15 @@ void foo3(int a0, long double a1) {
foo4(1, 2, a0, a1);
}
+// Insert padding after hidden argument.
+//
+// CHECK: define void @foo5(%struct.S0* noalias nocapture sret %agg.result, i64, fp128 %a0)
+// CHECK: call void @foo6(%struct.S0* sret %tmp, i32 1, i32 2, i64 undef, fp128 %a0)
+// CHECK: declare void @foo6(%struct.S0* sret, i32, i32, i64, fp128)
+
+extern S0 foo6(int, int, long double);
+
+S0 foo5(long double a0) {
+ foo6(1, 2, a0);
+}
+
OpenPOWER on IntegriCloud