summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/debug-frame-vararg.ll
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2014-05-06 20:43:01 +0000
committerJoerg Sonnenberger <joerg@bec.de>2014-05-06 20:43:01 +0000
commit818e72515891d6621567988cd6c1069189e87598 (patch)
treee5044a504b93abf6c59b38ac0defdd375afc4300 /llvm/test/CodeGen/ARM/debug-frame-vararg.ll
parentbdc969839aa55aec67860165087e1376a89edba2 (diff)
downloadbcm5719-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.ll9
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
OpenPOWER on IntegriCloud