[PATCH] [HEXAGON] Add a test program to verify calling convention
authorSundeep Kushwaha <sundeepk@codeaurora.org>
Tue, 12 May 2015 20:13:10 +0000 (20:13 +0000)
committerSundeep Kushwaha <sundeepk@codeaurora.org>
Tue, 12 May 2015 20:13:10 +0000 (20:13 +0000)
for large struct return by value.

Differential Revision: http://reviews.llvm.org/D9709

llvm-svn: 237170

llvm/test/CodeGen/Hexagon/calling-conv-2.ll [new file with mode: 0644]

diff --git a/llvm/test/CodeGen/Hexagon/calling-conv-2.ll b/llvm/test/CodeGen/Hexagon/calling-conv-2.ll
new file mode 100644 (file)
index 0000000..3c68c88
--- /dev/null
@@ -0,0 +1,13 @@
+; RUN: llc -march=hexagon -mcpu=hexagonv5 <%s | \
+; RUN:   FileCheck %s --check-prefix=CHECK-ONE
+
+%struct.test_struct = type { i32, i8, i64 }
+
+; CHECK-ONE:    r1 = #45
+define void @foo(%struct.test_struct* noalias nocapture sret %agg.result, i32 %a) #0 {
+entry:
+  call void @bar(%struct.test_struct* sret %agg.result, i32 45) #2
+  ret void
+}
+
+declare void @bar(%struct.test_struct* sret, i32) #1