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 | bdfc05ff93fe03edb6d6817384ecf31f723acd7a (patch) | |
| tree | 6ae010126d3ee33490f6f0471440efa057753d49 /llvm/test/CodeGen/Thumb2 | |
| parent | e778d10c0fc39d4e52dcd54dc9c97d20b0310404 (diff) | |
| download | bcm5719-llvm-bdfc05ff93fe03edb6d6817384ecf31f723acd7a.tar.gz bcm5719-llvm-bdfc05ff93fe03edb6d6817384ecf31f723acd7a.zip | |
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.
llvm-svn: 283942
Diffstat (limited to 'llvm/test/CodeGen/Thumb2')
| -rw-r--r-- | llvm/test/CodeGen/Thumb2/frame-pointer.ll | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/Thumb2/frame-pointer.ll b/llvm/test/CodeGen/Thumb2/frame-pointer.ll index f6e18603b5f..832cebe3252 100644 --- a/llvm/test/CodeGen/Thumb2/frame-pointer.ll +++ b/llvm/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 } |

