diff options
author | Chris Lattner <sabre@nondot.org> | 2005-12-19 02:51:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-12-19 02:51:12 +0000 |
commit | 43875e63f323ee01a08e0f2709213f2f84ff66c7 (patch) | |
tree | 11dad7554617a917c53f8cec8245ced24601cbec /lib/Target/Sparc/SparcRegisterInfo.cpp | |
parent | eb0966693bf11411d659282b4e05788859159a4d (diff) |
don't emit 'add %o6, 0, %o6' instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24857 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/SparcRegisterInfo.cpp')
-rw-r--r-- | lib/Target/Sparc/SparcRegisterInfo.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Target/Sparc/SparcRegisterInfo.cpp b/lib/Target/Sparc/SparcRegisterInfo.cpp index f781ee92a5..7b25856730 100644 --- a/lib/Target/Sparc/SparcRegisterInfo.cpp +++ b/lib/Target/Sparc/SparcRegisterInfo.cpp @@ -77,11 +77,12 @@ void SparcV8RegisterInfo:: eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const { MachineInstr &MI = *I; - int size = MI.getOperand (0).getImmedValue (); - if (MI.getOpcode () == V8::ADJCALLSTACKDOWN) - size = -size; - BuildMI (MBB, I, V8::ADDri, 2, V8::O6).addReg (V8::O6).addSImm (size); - MBB.erase (I); + int Size = MI.getOperand(0).getImmedValue(); + if (MI.getOpcode() == V8::ADJCALLSTACKDOWN) + Size = -Size; + if (Size) + BuildMI(MBB, I, V8::ADDri, 2, V8::O6).addReg(V8::O6).addSImm(Size); + MBB.erase(I); } void |