diff options
-rw-r--r-- | lib/Target/CellSPU/SPURegisterInfo.cpp | 9 | ||||
-rw-r--r-- | lib/Target/CellSPU/SPURegisterInfo.h | 6 |
2 files changed, 11 insertions, 4 deletions
diff --git a/lib/Target/CellSPU/SPURegisterInfo.cpp b/lib/Target/CellSPU/SPURegisterInfo.cpp index 683d97652c..af2a270472 100644 --- a/lib/Target/CellSPU/SPURegisterInfo.cpp +++ b/lib/Target/CellSPU/SPURegisterInfo.cpp @@ -501,10 +501,14 @@ BitVector SPURegisterInfo::getReservedRegs(const MachineFunction &MF) const { /// foldMemoryOperand - SPU, like PPC, can only fold spills into /// copy instructions, turning them into load/store instructions. MachineInstr * -SPURegisterInfo::foldMemoryOperand(MachineInstr *MI, unsigned OpNum, +SPURegisterInfo::foldMemoryOperand(MachineInstr *MI, + SmallVectorImpl<unsigned> &Ops, int FrameIndex) const { #if SOMEDAY_SCOTT_LOOKS_AT_ME_AGAIN + if (Ops.size() != 1) return NULL; + + unsigned OpNum = Ops[0]; unsigned Opc = MI->getOpcode(); MachineInstr *NewMI = 0; @@ -535,7 +539,8 @@ SPURegisterInfo::foldMemoryOperand(MachineInstr *MI, unsigned OpNum, /// General-purpose load/store fold to operand code MachineInstr * -SPURegisterInfo::foldMemoryOperand(MachineInstr *MI, unsigned OpNum, +SPURegisterInfo::foldMemoryOperand(MachineInstr *MI, + SmallVectorImpl<unsigned> &Ops, MachineInstr *LoadMI) const { return 0; diff --git a/lib/Target/CellSPU/SPURegisterInfo.h b/lib/Target/CellSPU/SPURegisterInfo.h index 1eca442cae..50066932ce 100644 --- a/lib/Target/CellSPU/SPURegisterInfo.h +++ b/lib/Target/CellSPU/SPURegisterInfo.h @@ -76,11 +76,13 @@ namespace llvm { unsigned DestReg, const MachineInstr *Orig) const; //! Fold spills into load/store instructions - virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, unsigned OpNum, + virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, + SmallVectorImpl<unsigned> &Ops, int FrameIndex) const; //! Fold any load/store to an operand - virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, unsigned OpNum, + virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, + SmallVectorImpl<unsigned> &Ops, MachineInstr* LoadMI) const; //! Return the array of callee-saved registers |