From 7b65cae8086a2e3255a6408f938cb366101f43fa Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Tue, 11 Oct 2016 21:14:03 +0000 Subject: 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 --- test/CodeGen/Thumb2/frame-pointer.ll | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'test/CodeGen/Thumb2') 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 } -- cgit v1.2.3