LLVM API Documentation
#include <MSP430InstrInfo.h>
Definition at line 43 of file MSP430InstrInfo.h.
MSP430InstrInfo::MSP430InstrInfo | ( | MSP430Subtarget & | STI | ) | [explicit] |
Definition at line 33 of file MSP430InstrInfo.cpp.
bool MSP430InstrInfo::AnalyzeBranch | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock *& | TBB, | ||
MachineBasicBlock *& | FBB, | ||
SmallVectorImpl< MachineOperand > & | Cond, | ||
bool | AllowModify | ||
) | const [override] |
Definition at line 172 of file MSP430InstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::SmallVectorImpl< T >::clear(), MSP430CC::COND_INVALID, llvm::MachineOperand::CreateImm(), llvm::SmallVectorBase::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::eraseFromParent(), I, llvm::MachineBasicBlock::isLayoutSuccessor(), isUnpredicatedTerminator(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorTemplateCommon< T >::size().
void MSP430InstrInfo::copyPhysReg | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | I, | ||
DebugLoc | DL, | ||
unsigned | DestReg, | ||
unsigned | SrcReg, | ||
bool | KillSrc | ||
) | const [override] |
Definition at line 91 of file MSP430InstrInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), contains(), llvm::getKillRegState(), and llvm_unreachable.
unsigned MSP430InstrInfo::GetInstSizeInBytes | ( | const MachineInstr * | MI | ) | const |
GetInstSize - Return the number of bytes of code the specified instruction may be. This returns the maximum number of bytes.
Definition at line 295 of file MSP430InstrInfo.cpp.
References llvm::TargetOpcode::CFI_INSTRUCTION, llvm::TargetOpcode::DBG_VALUE, llvm::TargetOpcode::EH_LABEL, llvm::MachineInstr::getDesc(), llvm::TargetInstrInfo::getInlineAsmLength(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetMachine::getMCAsmInfo(), llvm::MCInstrDesc::getOpcode(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), llvm::MachineOperand::getSymbolName(), llvm::MachineFunction::getTarget(), llvm::TargetOpcode::IMPLICIT_DEF, llvm::TargetOpcode::INLINEASM, llvm::TargetOpcode::KILL, llvm_unreachable, llvm::MSP430II::Size2Bytes, llvm::MSP430II::Size4Bytes, llvm::MSP430II::Size6Bytes, llvm::MSP430II::SizeMask, llvm::MSP430II::SizeSpecial, TII, and llvm::MCInstrDesc::TSFlags.
const TargetRegisterInfo& llvm::MSP430InstrInfo::getRegisterInfo | ( | ) | const [inline] |
getRegisterInfo - TargetInstrInfo is a superset of MRegister info. As such, whenever a client has an instance of instruction info, it should always be able to get register info as well (through this method).
Definition at line 53 of file MSP430InstrInfo.h.
Referenced by llvm::MSP430Subtarget::getRegisterInfo().
unsigned MSP430InstrInfo::InsertBranch | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock * | TBB, | ||
MachineBasicBlock * | FBB, | ||
const SmallVectorImpl< MachineOperand > & | Cond, | ||
DebugLoc | DL | ||
) | const [override] |
Definition at line 263 of file MSP430InstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), llvm::BuildMI(), llvm::SmallVectorBase::empty(), and llvm::SmallVectorTemplateCommon< T >::size().
bool MSP430InstrInfo::isUnpredicatedTerminator | ( | const MachineInstr * | MI | ) | const [override] |
Definition at line 161 of file MSP430InstrInfo.cpp.
References llvm::MachineInstr::isBarrier(), llvm::MachineInstr::isBranch(), llvm::MachineInstr::isPredicable(), and llvm::MachineInstr::isTerminator().
Referenced by AnalyzeBranch().
void MSP430InstrInfo::loadRegFromStackSlot | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | MI, | ||
unsigned | DestReg, | ||
int | FrameIdx, | ||
const TargetRegisterClass * | RC, | ||
const TargetRegisterInfo * | TRI | ||
) | const [override] |
Definition at line 65 of file MSP430InstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm_unreachable, and llvm::MachineMemOperand::MOLoad.
unsigned MSP430InstrInfo::RemoveBranch | ( | MachineBasicBlock & | MBB | ) | const [override] |
Definition at line 107 of file MSP430InstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), and I.
bool MSP430InstrInfo::ReverseBranchCondition | ( | SmallVectorImpl< MachineOperand > & | Cond | ) | const [override] |
Definition at line 130 of file MSP430InstrInfo.cpp.
References MSP430CC::COND_E, MSP430CC::COND_GE, MSP430CC::COND_HS, MSP430CC::COND_L, MSP430CC::COND_LO, MSP430CC::COND_NE, llvm_unreachable, and llvm::SmallVectorTemplateCommon< T >::size().
void MSP430InstrInfo::storeRegToStackSlot | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | MI, | ||
unsigned | SrcReg, | ||
bool | isKill, | ||
int | FrameIndex, | ||
const TargetRegisterClass * | RC, | ||
const TargetRegisterInfo * | TRI | ||
) | const [override] |
Definition at line 37 of file MSP430InstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm_unreachable, and llvm::MachineMemOperand::MOStore.