1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00

Update foldMemoryOperand.

llvm-svn: 44621
This commit is contained in:
Evan Cheng 2007-12-05 18:36:37 +00:00
parent 0914ad3008
commit aecb76bcc2
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