summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/vararg_no_start.ll
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-08-22 21:59:26 +0000
committerReid Kleckner <reid@kleckner.net>2014-08-22 21:59:26 +0000
commit2d9bb65b3dee3d84a523f043b6059bce2a4a1032 (patch)
treea39fce08ce3ce54169beeb4149fc349c91e4fc5b /llvm/test/CodeGen/ARM/vararg_no_start.ll
parentaf74250ec00c8c324109e8513030e10b480c23a3 (diff)
downloadbcm5719-llvm-2d9bb65b3dee3d84a523f043b6059bce2a4a1032.tar.gz
bcm5719-llvm-2d9bb65b3dee3d84a523f043b6059bce2a4a1032.zip
ARM / x86_64 varargs: Don't save regparms in prologue without va_start
There's no need to do this if the user doesn't call va_start. In the future, we're going to have thunks that forward these register parameters with musttail calls, and they won't need these spills for handling va_start. Most of the test suite changes are adding va_start calls to existing tests to keep things working. llvm-svn: 216294
Diffstat (limited to 'llvm/test/CodeGen/ARM/vararg_no_start.ll')
-rw-r--r--llvm/test/CodeGen/ARM/vararg_no_start.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/vararg_no_start.ll b/llvm/test/CodeGen/ARM/vararg_no_start.ll
new file mode 100644
index 00000000000..f9c8c1b7546
--- /dev/null
+++ b/llvm/test/CodeGen/ARM/vararg_no_start.ll
@@ -0,0 +1,10 @@
+; RUN: llc -mtriple=arm-darwin < %s | FileCheck %s
+; RUN: llc -O0 -mtriple=arm-darwin < %s | FileCheck %s
+
+define void @foo(i8*, ...) {
+ ret void
+}
+; CHECK-LABEL: {{^_?}}foo:
+; CHECK-NOT: str
+; CHECK: {{bx lr|mov pc, lr}}
+declare void @llvm.va_start(i8*) nounwind
OpenPOWER on IntegriCloud