diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2014-05-06 20:43:01 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2014-05-06 20:43:01 +0000 |
commit | 818e72515891d6621567988cd6c1069189e87598 (patch) | |
tree | e5044a504b93abf6c59b38ac0defdd375afc4300 /llvm/test/CodeGen/ARM/debug-frame-vararg.ll | |
parent | bdc969839aa55aec67860165087e1376a89edba2 (diff) | |
download | bcm5719-llvm-818e72515891d6621567988cd6c1069189e87598.tar.gz bcm5719-llvm-818e72515891d6621567988cd6c1069189e87598.zip |
If a function needs a frame pointer, but r11 (aka fp) has not been used,
remove it from the list of unspilled registers. Otherwise the following
attempt to keep the stack aligned by picking an extra GPR register to
spill will not work as it picks up r11.
llvm-svn: 208129
Diffstat (limited to 'llvm/test/CodeGen/ARM/debug-frame-vararg.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/debug-frame-vararg.ll | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/ARM/debug-frame-vararg.ll b/llvm/test/CodeGen/ARM/debug-frame-vararg.ll index 9b39525e527..42ff82d8153 100644 --- a/llvm/test/CodeGen/ARM/debug-frame-vararg.ll +++ b/llvm/test/CodeGen/ARM/debug-frame-vararg.ll @@ -75,12 +75,13 @@ ; CHECK-FP-ELIM: .cfi_startproc ; CHECK-FP-ELIM: sub sp, sp, #16 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 -; CHECK-FP-ELIM: push {r4, r11, lr} -; CHECK-FP-ELIM: .cfi_def_cfa_offset 28 +; CHECK-FP-ELIM: push {r4, r10, r11, lr} +; CHECK-FP-ELIM: .cfi_def_cfa_offset 32 ; CHECK-FP-ELIM: .cfi_offset lr, -20 ; CHECK-FP-ELIM: .cfi_offset r11, -24 -; CHECK-FP-ELIM: .cfi_offset r4, -28 -; CHECK-FP-ELIM: add r11, sp, #4 +; CHECK-FP-ELIM: .cfi_offset r10, -28 +; CHECK-FP-ELIM: .cfi_offset r4, -32 +; CHECK-FP-ELIM: add r11, sp, #8 ; CHECK-FP-ELIM: .cfi_def_cfa r11, 24 ; CHECK-THUMB-FP-LABEL: sum |