diff options
author | Reid Kleckner <rnk@google.com> | 2016-10-11 21:14:03 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-10-11 21:14:03 +0000 |
commit | 7b65cae8086a2e3255a6408f938cb366101f43fa (patch) | |
tree | e57f0e40b1e5729caf8c188632877d45eeba10b0 /test/CodeGen/Thumb2 | |
parent | 9a966692d67a80c355df92561b5ddb92740cdd51 (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.ll | 12 |
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 } |