Update foldMemoryOperand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44621 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2007-12-05 18:36:37 +00:00
parent 4d321c55c4
commit 7db2811f6e
2 changed files with 11 additions and 4 deletions

View File

@ -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;

View File

@ -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