unsigned DestReg, unsigned SrcReg,
const TargetRegisterClass *RC) const;
- virtual bool canFoldMemoryOperand(MachineInstr* MI, unsigned i) const;
+ /// foldMemoryOperand - If this target supports it, fold a load or store of
+ /// the specified stack slot into the specified machine instruction for the
+ /// specified operand. If this is possible, the target should perform the
+ /// folding and return true, otherwise it should return false. If it folds
+ /// the instruction, it is likely that the MachineInstruction the iterator
+ /// references has been changed.
+ virtual MachineInstr* foldMemoryOperand(MachineInstr* MI,
+ unsigned OpNum,
+ int FrameIndex) const;
- virtual int foldMemoryOperand(MachineInstr* MI, unsigned i,
- int FrameIndex) const;
void eliminateCallFramePseudoInstr(MachineFunction &MF,
MachineBasicBlock &MBB,