summaryrefslogtreecommitdiff
path: root/test/CodeGen/Thumb2
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-10-11 21:14:03 +0000
committerReid Kleckner <rnk@google.com>2016-10-11 21:14:03 +0000
commit7b65cae8086a2e3255a6408f938cb366101f43fa (patch)
treee57f0e40b1e5729caf8c188632877d45eeba10b0 /test/CodeGen/Thumb2
parent9a966692d67a80c355df92561b5ddb92740cdd51 (diff)
Re-land "[Thumb] Save/restore high registers in Thumb1 pro/epilogues"
Reverts r283938 to reinstate r283867 with a fix. The original change had an ArrayRef referring to a destroyed temporary initializer list. Use plain C arrays instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283942 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Thumb2')
-rw-r--r--test/CodeGen/Thumb2/frame-pointer.ll12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/CodeGen/Thumb2/frame-pointer.ll b/test/CodeGen/Thumb2/frame-pointer.ll
index f6e18603b5f..832cebe3252 100644
--- a/test/CodeGen/Thumb2/frame-pointer.ll
+++ b/test/CodeGen/Thumb2/frame-pointer.ll
@@ -27,9 +27,9 @@ define void @leaf_nofpelim() "no-frame-pointer-elim"="true" {
; need to use a frame pointer.
define void @leaf_lowreg_nofpelim() "no-frame-pointer-elim"="true" {
; CHECK-LABEL: leaf_lowreg_nofpelim:
-; CHECK: push {r4, r7, lr}
-; CHECK: add r7, sp, #4
-; CHECK: pop {r4, r7, pc}
+; CHECK: push {r4, r6, r7, lr}
+; CHECK: add r7, sp, #8
+; CHECK: pop {r4, r6, r7, pc}
call void asm sideeffect "", "~{r4}" ()
ret void
}
@@ -40,11 +40,11 @@ define void @leaf_lowreg_nofpelim() "no-frame-pointer-elim"="true" {
; the stack.
define void @leaf_highreg_nofpelim() "no-frame-pointer-elim"="true" {
; CHECK-LABEL: leaf_highreg_nofpelim:
-; CHECK: push {r7, lr}
-; CHECK: mov r7, sp
+; CHECK: push {r6, r7, lr}
+; CHECK: add r7, sp, #4
; CHECK: str r8, [sp, #-4]!
; CHECK: ldr r8, [sp], #4
-; CHECK: pop {r7, pc}
+; CHECK: pop {r6, r7, pc}
call void asm sideeffect "", "~{r8}" ()
ret void
}