Don't add or sub zero to sp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33142 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Lauro Ramos Venancio 2007-01-12 20:52:27 +00:00
parent a38bbf7dd3
commit 5293e7d5d6
2 changed files with 20 additions and 6 deletions

View File

@ -206,9 +206,11 @@ void ARMRegisterInfo::emitPrologue(MachineFunction &MF) const {
MFI->setStackSize(NumBytes);
//sub sp, sp, #NumBytes
splitInstructionWithImmediate(MBB, MBBI, TII.get(ARM::SUB), ARM::R13,
ARM::R13, NumBytes);
if (NumBytes) {
//sub sp, sp, #NumBytes
splitInstructionWithImmediate(MBB, MBBI, TII.get(ARM::SUB), ARM::R13,
ARM::R13, NumBytes);
}
if (HasFP) {
@ -234,9 +236,11 @@ void ARMRegisterInfo::emitEpilogue(MachineFunction &MF,
BuildMI(MBB, MBBI, TII.get(ARM::LDR), ARM::R11).addReg(ARM::R13).addImm(0);
}
//add sp, sp, #NumBytes
splitInstructionWithImmediate(MBB, MBBI, TII.get(ARM::ADD), ARM::R13,
ARM::R13, NumBytes);
if (NumBytes){
//add sp, sp, #NumBytes
splitInstructionWithImmediate(MBB, MBBI, TII.get(ARM::ADD), ARM::R13,
ARM::R13, NumBytes);
}
}

View File

@ -0,0 +1,10 @@
; RUN: llvm-upgrade < %s | llvm-as | llc -f -march=arm -o %t.s &&
; RUN: not grep "add r13, r13, #0" < %t.s &&
; RUN: not grep "sub r13, r13, #0" < %t.s
int %f() {
entry:
ret int 1
}