LLVM API Documentation
#include <MBlazeInstrInfo.h>


Definition at line 169 of file MBlazeInstrInfo.h.
| MBlazeInstrInfo::MBlazeInstrInfo | ( | MBlazeTargetMachine & | TM | ) | [explicit] |
Definition at line 30 of file MBlazeInstrInfo.cpp.
| bool MBlazeInstrInfo::AnalyzeBranch | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock *& | TBB, | ||
| MachineBasicBlock *& | FBB, | ||
| SmallVectorImpl< MachineOperand > & | Cond, | ||
| bool | AllowModify | ||
| ) | const [virtual] |
Branch Analysis.
Definition at line 115 of file MBlazeInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineOperand::CreateImm(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), I, llvm::MBlaze::isCondBranchOpcode(), llvm::MBlaze::isUncondBranchOpcode(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
| void MBlazeInstrInfo::copyPhysReg | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock::iterator | I, | ||
| DebugLoc | DL, | ||
| unsigned | DestReg, | ||
| unsigned | SrcReg, | ||
| bool | KillSrc | ||
| ) | const [virtual] |
Definition at line 84 of file MBlazeInstrInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), and llvm::getKillRegState().
| unsigned MBlazeInstrInfo::getGlobalBaseReg | ( | MachineFunction * | MF | ) | const |
getGlobalBaseReg - Return a virtual register initialized with the the global base register value. Output instructions required to initialize the register in the function entry block, if necessary.
Definition at line 278 of file MBlazeInstrInfo.cpp.
References llvm::MachineRegisterInfo::addLiveIn(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::TargetOpcode::COPY, llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineFunction::front(), llvm::MCInstrInfo::get(), llvm::MBlazeFunctionInfo::getGlobalBaseReg(), llvm::MachineFunction::getInfo(), llvm::TargetMachine::getInstrInfo(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getTarget(), llvm::PPCISD::GlobalBaseReg, llvm::MBlazeFunctionInfo::setGlobalBaseReg(), and TII.
| virtual const MBlazeRegisterInfo& llvm::MBlazeInstrInfo::getRegisterInfo | ( | ) | const [inline, virtual] |
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 179 of file MBlazeInstrInfo.h.
Referenced by llvm::MBlazeTargetMachine::getRegisterInfo().
| unsigned MBlazeInstrInfo::InsertBranch | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock * | TBB, | ||
| MachineBasicBlock * | FBB, | ||
| const SmallVectorImpl< MachineOperand > & | Cond, | ||
| DebugLoc | DL | ||
| ) | const [virtual] |
Definition at line 187 of file MBlazeInstrInfo.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::SmallVectorBase::empty(), getReg(), and llvm::SmallVectorTemplateCommon< T >::size().
| void MBlazeInstrInfo::insertNoop | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock::iterator | MI | ||
| ) | const [virtual] |
Insert nop instruction when hazard condition is found.
insertNoop - If data hazard condition is found insert the target nop instruction.
Definition at line 78 of file MBlazeInstrInfo.cpp.
References llvm::BuildMI().
| unsigned MBlazeInstrInfo::isLoadFromStackSlot | ( | const MachineInstr * | MI, |
| int & | FrameIndex | ||
| ) | const [virtual] |
isLoadFromStackSlot - If the specified machine instruction is a direct load from a stack slot, return the virtual or physical register number of the destination along with the FrameIndex of the loaded stack slot. If not, return 0. This predicate must return 0 if the instruction has any side effects other than loading from the stack slot.
Definition at line 44 of file MBlazeInstrInfo.cpp.
References llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isFI(), llvm::MachineOperand::isImm(), and isZeroImm().
| unsigned MBlazeInstrInfo::isStoreToStackSlot | ( | const MachineInstr * | MI, |
| int & | FrameIndex | ||
| ) | const [virtual] |
isStoreToStackSlot - If the specified machine instruction is a direct 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 not, return 0. This predicate must return 0 if the instruction has any side effects other than storing to the stack slot.
Definition at line 63 of file MBlazeInstrInfo.cpp.
References llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isFI(), llvm::MachineOperand::isImm(), and isZeroImm().
| void MBlazeInstrInfo::loadRegFromStackSlot | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock::iterator | MBBI, | ||
| unsigned | DestReg, | ||
| int | FrameIndex, | ||
| const TargetRegisterClass * | RC, | ||
| const TargetRegisterInfo * | TRI | ||
| ) | const [virtual] |
Definition at line 103 of file MBlazeInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), and llvm::BuildMI().
| unsigned MBlazeInstrInfo::RemoveBranch | ( | MachineBasicBlock & | MBB | ) | const [virtual] |
Definition at line 213 of file MBlazeInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), I, llvm::MBlaze::isCondBranchOpcode(), and llvm::MBlaze::isUncondBranchOpcode().
| bool MBlazeInstrInfo::ReverseBranchCondition | ( | SmallVectorImpl< MachineOperand > & | Cond | ) | const [virtual] |
Definition at line 242 of file MBlazeInstrInfo.cpp.
References llvm::SmallVectorTemplateCommon< T >::size().
| void MBlazeInstrInfo::storeRegToStackSlot | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock::iterator | MBBI, | ||
| unsigned | SrcReg, | ||
| bool | isKill, | ||
| int | FrameIndex, | ||
| const TargetRegisterClass * | RC, | ||
| const TargetRegisterInfo * | TRI | ||
| ) | const [virtual] |
Definition at line 93 of file MBlazeInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), and llvm::getKillRegState().