diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-08-01 18:04:14 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-08-01 18:04:14 +0000 |
commit | 4c018a12a3a0ec399d41386dbcbeb6d11a891fae (patch) | |
tree | da2ad2148f887cf5bef8c82d6ad596838f81d3af /llvm/test/CodeGen/ARM/fast-isel-call.ll | |
parent | b4599d353159d9b0963642b0504ea501065f3dd1 (diff) | |
download | bcm5719-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.ll | 15 |
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) |