14 #ifndef LLVM_LIB_TARGET_MIPS_MIPSSEINSTRINFO_H 15 #define LLVM_LIB_TARGET_MIPS_MIPSSEINSTRINFO_H 44 int &FrameIndex)
const override;
47 const DebugLoc &DL,
unsigned DestReg,
unsigned SrcReg,
48 bool KillSrc)
const override;
52 unsigned SrcReg,
bool isKill,
int FrameIndex,
55 int64_t
Offset)
const override;
59 unsigned DestReg,
int FrameIndex,
62 int64_t Offset)
const override;
77 unsigned *NewImm)
const;
87 unsigned getAnalyzableBrOpc(
unsigned Opc)
const override;
93 std::pair<bool, bool> compareOpndSize(
unsigned Opc,
97 unsigned NewOpc)
const;
100 unsigned LoOpc,
unsigned HiOpc,
101 bool HasExplicitDef)
const;
114 unsigned CvtOpc,
unsigned MovOpc,
bool IsI64)
const;
This class represents lattice values for constants.
bool isCopyInstrImpl(const MachineInstr &MI, const MachineOperand *&Source, const MachineOperand *&Destination) const override
If the specific machine instruction is a instruction that moves/copies value from one register to ano...
unsigned getOppositeBranchOpc(unsigned Opc) const override
getOppositeBranchOpc - Return the inverse of the specified opcode, e.g.
void loadRegFromStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, int64_t Offset) const override
unsigned const TargetRegisterInfo * TRI
MipsSEInstrInfo(const MipsSubtarget &STI)
void adjustStackPtr(unsigned SP, int64_t Amount, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const override
Adjust SP by Amount bytes.
void storeRegToStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, int64_t Offset) const override
unsigned isLoadFromStackSlot(const MachineInstr &MI, int &FrameIndex) const override
isLoadFromStackSlot - If the specified machine instruction is a direct load from a stack slot...
unsigned isStoreToStackSlot(const MachineInstr &MI, int &FrameIndex) const override
isStoreToStackSlot - If the specified machine instruction is a direct store to a stack slot...
void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, const DebugLoc &DL, unsigned DestReg, unsigned SrcReg, bool KillSrc) const override
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
MachineOperand class - Representation of each machine instruction operand.
bool expandPostRAPseudo(MachineInstr &MI) const override
Representation of each machine instruction.
unsigned loadImmediate(int64_t Imm, MachineBasicBlock &MBB, MachineBasicBlock::iterator II, const DebugLoc &DL, unsigned *NewImm) const
Emit a series of instructions to load an immediate.
const MipsRegisterInfo & getRegisterInfo() const override
getRegisterInfo - TargetInstrInfo is a superset of MRegister info.