Take into account the pointer to an aggregate that is passed as a hidden
argument when Offset is initialized.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147986 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/mips64-padding-arg.c b/test/CodeGen/mips64-padding-arg.c
index 3958807..faafd5e 100644
--- a/test/CodeGen/mips64-padding-arg.c
+++ b/test/CodeGen/mips64-padding-arg.c
@@ -29,3 +29,15 @@
   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);
+}
+