forked from OSchip/llvm-project
parent
16a92afc4b
commit
5c63cf8bfd
|
@ -36,7 +36,7 @@ PIC16InstrInfo::PIC16InstrInfo(PIC16TargetMachine &tm)
|
||||||
/// the source reg along with the FrameIndex of the loaded stack slot.
|
/// the source reg along with the FrameIndex of the loaded stack slot.
|
||||||
/// If not, return 0. This predicate must return 0 if the instruction has
|
/// If not, return 0. This predicate must return 0 if the instruction has
|
||||||
/// any side effects other than storing to the stack slot.
|
/// any side effects other than storing to the stack slot.
|
||||||
unsigned PIC16InstrInfo::isStoreToStackSlot(MachineInstr *MI,
|
unsigned PIC16InstrInfo::isStoreToStackSlot(const MachineInstr *MI,
|
||||||
int &FrameIndex) const {
|
int &FrameIndex) const {
|
||||||
if (MI->getOpcode() == PIC16::movwf
|
if (MI->getOpcode() == PIC16::movwf
|
||||||
&& MI->getOperand(0).isReg()
|
&& MI->getOperand(0).isReg()
|
||||||
|
@ -52,7 +52,7 @@ unsigned PIC16InstrInfo::isStoreToStackSlot(MachineInstr *MI,
|
||||||
/// the dest reg along with the FrameIndex of the stack slot.
|
/// the dest reg along with the FrameIndex of the stack slot.
|
||||||
/// If not, return 0. This predicate must return 0 if the instruction has
|
/// If not, return 0. This predicate must return 0 if the instruction has
|
||||||
/// any side effects other than storing to the stack slot.
|
/// any side effects other than storing to the stack slot.
|
||||||
unsigned PIC16InstrInfo::isLoadFromStackSlot(MachineInstr *MI,
|
unsigned PIC16InstrInfo::isLoadFromStackSlot(const MachineInstr *MI,
|
||||||
int &FrameIndex) const {
|
int &FrameIndex) const {
|
||||||
if (MI->getOpcode() == PIC16::movf
|
if (MI->getOpcode() == PIC16::movf
|
||||||
&& MI->getOperand(0).isReg()
|
&& MI->getOperand(0).isReg()
|
||||||
|
|
|
@ -35,14 +35,16 @@ public:
|
||||||
/// the destination along with the FrameIndex of the loaded stack slot. If
|
/// the destination along with the FrameIndex of the loaded stack slot. If
|
||||||
/// not, return 0. This predicate must return 0 if the instruction has
|
/// not, return 0. This predicate must return 0 if the instruction has
|
||||||
/// any side effects other than loading from the stack slot.
|
/// any side effects other than loading from the stack slot.
|
||||||
virtual unsigned isLoadFromStackSlot(MachineInstr *MI, int &FrameIndex) const;
|
virtual unsigned isLoadFromStackSlot(const MachineInstr *MI,
|
||||||
|
int &FrameIndex) const;
|
||||||
|
|
||||||
/// isStoreToStackSlot - If the specified machine instruction is a direct
|
/// isStoreToStackSlot - If the specified machine instruction is a direct
|
||||||
/// store to a stack slot, return the virtual or physical register number of
|
/// store to a stack slot, return the virtual or physical register number of
|
||||||
/// the source reg along with the FrameIndex of the loaded stack slot. If
|
/// the source reg along with the FrameIndex of the loaded stack slot. If
|
||||||
/// not, return 0. This predicate must return 0 if the instruction has
|
/// not, return 0. This predicate must return 0 if the instruction has
|
||||||
/// any side effects other than storing to the stack slot.
|
/// any side effects other than storing to the stack slot.
|
||||||
virtual unsigned isStoreToStackSlot(MachineInstr *MI, int &FrameIndex) const;
|
virtual unsigned isStoreToStackSlot(const MachineInstr *MI,
|
||||||
|
int &FrameIndex) const;
|
||||||
|
|
||||||
virtual void storeRegToStackSlot(MachineBasicBlock &MBB,
|
virtual void storeRegToStackSlot(MachineBasicBlock &MBB,
|
||||||
MachineBasicBlock::iterator MBBI,
|
MachineBasicBlock::iterator MBBI,
|
||||||
|
|
Loading…
Reference in New Issue