aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/CellSPU/SPURegisterInfo.cpp9
-rw-r--r--lib/Target/CellSPU/SPURegisterInfo.h6
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