summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/fast-isel-call.ll
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-08-01 18:04:14 +0000
committerJuergen Ributzka <juergen@apple.com>2014-08-01 18:04:14 +0000
commit4c018a12a3a0ec399d41386dbcbeb6d11a891fae (patch)
treeda2ad2148f887cf5bef8c82d6ad596838f81d3af /llvm/test/CodeGen/ARM/fast-isel-call.ll
parentb4599d353159d9b0963642b0504ea501065f3dd1 (diff)
downloadbcm5719-llvm-4c018a12a3a0ec399d41386dbcbeb6d11a891fae.tar.gz
bcm5719-llvm-4c018a12a3a0ec399d41386dbcbeb6d11a891fae.zip
[FastISel][ARM] Do not emit stores for undef arguments.
This is a followup patch for r214366, which added the same behavior to the AArch64 and X86 FastISel code. This fix reproduces the already existing behavior of SelectionDAG in FastISel. llvm-svn: 214531
Diffstat (limited to 'llvm/test/CodeGen/ARM/fast-isel-call.ll')
-rw-r--r--llvm/test/CodeGen/ARM/fast-isel-call.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/fast-isel-call.ll b/llvm/test/CodeGen/ARM/fast-isel-call.ll
index 2d7378e47f2..9d9e341647a 100644
--- a/llvm/test/CodeGen/ARM/fast-isel-call.ll
+++ b/llvm/test/CodeGen/ARM/fast-isel-call.ll
@@ -250,4 +250,19 @@ entry:
ret void
}
+declare void @bar2(i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6)
+
+define void @call_undef_args() {
+; ARM-LABEL: call_undef_args
+; ARM: movw r0, #1
+; ARM-NEXT: movw r1, #2
+; ARM-NEXT: movw r2, #3
+; ARM-NEXT: movw r3, #4
+; ARM-NOT: str {{r[0-9]+}}, [sp]
+; ARM: movw [[REG:l?r[0-9]*]], #6
+; ARM-NEXT: str [[REG]], [sp, #4]
+ call void @bar2(i32 1, i32 2, i32 3, i32 4, i32 undef, i32 6)
+ ret void
+}
+
declare void @print(float)
OpenPOWER on IntegriCloud