diff options
author | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-01-12 20:52:27 +0000 |
---|---|---|
committer | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-01-12 20:52:27 +0000 |
commit | 5293e7d5d693e2e2f8f729856d6f3596b3ee244c (patch) | |
tree | 467d31f385429ef8fac5855b43bbf249f846692a /lib/Target/ARM/ARMRegisterInfo.cpp | |
parent | a38bbf7dd3b824aab6c290aec9e03e5cfdd028f5 (diff) |
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
Diffstat (limited to 'lib/Target/ARM/ARMRegisterInfo.cpp')
-rw-r--r-- | lib/Target/ARM/ARMRegisterInfo.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/Target/ARM/ARMRegisterInfo.cpp b/lib/Target/ARM/ARMRegisterInfo.cpp index 4890e3094f..16a1a29660 100644 --- a/lib/Target/ARM/ARMRegisterInfo.cpp +++ b/lib/Target/ARM/ARMRegisterInfo.cpp @@ -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); + } } |