diff options
Diffstat (limited to 'lib/Target/Sparc')
-rw-r--r-- | lib/Target/Sparc/SparcRegisterInfo.cpp | 7 | ||||
-rw-r--r-- | lib/Target/Sparc/SparcRegisterInfo.h | 16 |
2 files changed, 7 insertions, 16 deletions
diff --git a/lib/Target/Sparc/SparcRegisterInfo.cpp b/lib/Target/Sparc/SparcRegisterInfo.cpp index f3e2ff8860..fcd0dfcca2 100644 --- a/lib/Target/Sparc/SparcRegisterInfo.cpp +++ b/lib/Target/Sparc/SparcRegisterInfo.cpp @@ -148,8 +148,11 @@ void SparcRegisterInfo::reMaterialize(MachineBasicBlock &MBB, } MachineInstr *SparcRegisterInfo::foldMemoryOperand(MachineInstr* MI, - unsigned OpNum, - int FI) const { + SmallVectorImpl<unsigned> &Ops, + int FI) const { + if (Ops.size() != 1) return NULL; + + unsigned OpNum = Ops[0]; bool isFloat = false; MachineInstr *NewMI = NULL; switch (MI->getOpcode()) { diff --git a/lib/Target/Sparc/SparcRegisterInfo.h b/lib/Target/Sparc/SparcRegisterInfo.h index cecbc8a87d..347b631ecf 100644 --- a/lib/Target/Sparc/SparcRegisterInfo.h +++ b/lib/Target/Sparc/SparcRegisterInfo.h @@ -59,23 +59,11 @@ struct SparcRegisterInfo : public SparcGenRegisterInfo { unsigned DestReg, const MachineInstr *Orig) const; virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, - unsigned OpNum, + SmallVectorImpl<unsigned> &Ops, int FrameIndex) const; virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, - SmallVectorImpl<unsigned> &UseOps, - int FrameIndex) const { - return 0; - } - - virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, - unsigned OpNum, - MachineInstr* LoadMI) const { - return 0; - } - - virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, - SmallVectorImpl<unsigned> &UseOps, + SmallVectorImpl<unsigned> &Ops, MachineInstr* LoadMI) const { return 0; } |