LLVM API Documentation
AnalyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify=false) const | llvm::TargetInstrInfo | [inline, virtual] |
analyzeCompare(const MachineInstr *MI, unsigned &SrcReg, unsigned &SrcReg2, int &Mask, int &Value) const | llvm::TargetInstrInfo | [inline, virtual] |
analyzeSelect(const MachineInstr *MI, SmallVectorImpl< MachineOperand > &Cond, unsigned &TrueOp, unsigned &FalseOp, bool &Optimizable) const | llvm::TargetInstrInfo | [inline, virtual] |
areLoadsFromSameBasePtr(SDNode *Load1, SDNode *Load2, int64_t &Offset1, int64_t &Offset2) const | llvm::TargetInstrInfo | [inline, virtual] |
areMemAccessesTriviallyDisjoint(MachineInstr *MIa, MachineInstr *MIb, AliasAnalysis *AA=nullptr) const | llvm::TargetInstrInfo | [inline, virtual] |
breakPartialRegDependency(MachineBasicBlock::iterator MI, unsigned OpNum, const TargetRegisterInfo *TRI) const | llvm::TargetInstrInfo | [inline, virtual] |
canFoldMemoryOperand(const MachineInstr *MI, const SmallVectorImpl< unsigned > &Ops) const | llvm::TargetInstrInfo | [virtual] |
canInsertSelect(const MachineBasicBlock &MBB, const SmallVectorImpl< MachineOperand > &Cond, unsigned TrueReg, unsigned FalseReg, int &CondCycles, int &TrueCycles, int &FalseCycles) const | llvm::TargetInstrInfo | [inline, virtual] |
commuteInstruction(MachineInstr *MI, bool NewMI=false) const | llvm::TargetInstrInfo | [virtual] |
computeDefOperandLatency(const InstrItineraryData *ItinData, const MachineInstr *DefMI) const | llvm::TargetInstrInfo | |
computeOperandLatency(const InstrItineraryData *ItinData, const MachineInstr *DefMI, unsigned DefIdx, const MachineInstr *UseMI, unsigned UseIdx) const | llvm::TargetInstrInfo | |
convertToThreeAddress(MachineFunction::iterator &MFI, MachineBasicBlock::iterator &MBBI, LiveVariables *LV) const | llvm::TargetInstrInfo | [inline, virtual] |
copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, DebugLoc DL, unsigned DestReg, unsigned SrcReg, bool KillSrc) const | llvm::TargetInstrInfo | [inline, virtual] |
CreateTargetHazardRecognizer(const TargetSubtargetInfo *STI, const ScheduleDAG *DAG) const | llvm::TargetInstrInfo | [virtual] |
CreateTargetMIHazardRecognizer(const InstrItineraryData *, const ScheduleDAG *DAG) const | llvm::TargetInstrInfo | [virtual] |
CreateTargetPostRAHazardRecognizer(const InstrItineraryData *, const ScheduleDAG *DAG) const | llvm::TargetInstrInfo | [virtual] |
CreateTargetScheduleState(const TargetMachine *, const ScheduleDAG *) const | llvm::TargetInstrInfo | [inline, virtual] |
defaultDefLatency(const MCSchedModel &SchedModel, const MachineInstr *DefMI) const | llvm::TargetInstrInfo | |
DefinesPredicate(MachineInstr *MI, std::vector< MachineOperand > &Pred) const | llvm::TargetInstrInfo | [inline, virtual] |
duplicate(MachineInstr *Orig, MachineFunction &MF) const | llvm::TargetInstrInfo | [virtual] |
enableClusterLoads() const | llvm::TargetInstrInfo | [inline, virtual] |
expandPostRAPseudo(MachineBasicBlock::iterator MI) const | llvm::TargetInstrInfo | [inline, virtual] |
findCommutedOpIndices(MachineInstr *MI, unsigned &SrcOpIdx1, unsigned &SrcOpIdx2) const | llvm::TargetInstrInfo | [virtual] |
FoldImmediate(MachineInstr *UseMI, MachineInstr *DefMI, unsigned Reg, MachineRegisterInfo *MRI) const | llvm::TargetInstrInfo | [inline, virtual] |
foldMemoryOperand(MachineBasicBlock::iterator MI, const SmallVectorImpl< unsigned > &Ops, int FrameIndex) const | llvm::TargetInstrInfo | |
foldMemoryOperand(MachineBasicBlock::iterator MI, const SmallVectorImpl< unsigned > &Ops, MachineInstr *LoadMI) const | llvm::TargetInstrInfo | |
foldMemoryOperandImpl(MachineFunction &MF, MachineInstr *MI, const SmallVectorImpl< unsigned > &Ops, int FrameIndex) const | llvm::TargetInstrInfo | [inline, protected, virtual] |
foldMemoryOperandImpl(MachineFunction &MF, MachineInstr *MI, const SmallVectorImpl< unsigned > &Ops, MachineInstr *LoadMI) const | llvm::TargetInstrInfo | [inline, protected, virtual] |
genAlternativeCodeSequence(MachineInstr &Root, MachineCombinerPattern::MC_PATTERN P, SmallVectorImpl< MachineInstr * > &InsInstrs, SmallVectorImpl< MachineInstr * > &DelInstrs, DenseMap< unsigned, unsigned > &InstrIdxForVirtReg) const | llvm::TargetInstrInfo | [inline, virtual] |
get(unsigned Opcode) const | llvm::MCInstrInfo | [inline] |
getCallFrameDestroyOpcode() const | llvm::TargetInstrInfo | [inline] |
getCallFrameSetupOpcode() const | llvm::TargetInstrInfo | [inline] |
getExecutionDomain(const MachineInstr *MI) const | llvm::TargetInstrInfo | [inline, virtual] |
getExtractSubregInputs(const MachineInstr &MI, unsigned DefIdx, RegSubRegPairAndIdx &InputReg) const | llvm::TargetInstrInfo | |
getExtractSubregLikeInputs(const MachineInstr &MI, unsigned DefIdx, RegSubRegPairAndIdx &InputReg) const | llvm::TargetInstrInfo | [inline, protected, virtual] |
getInlineAsmLength(const char *Str, const MCAsmInfo &MAI) const | llvm::TargetInstrInfo | [virtual] |
getInsertSubregInputs(const MachineInstr &MI, unsigned DefIdx, RegSubRegPair &BaseReg, RegSubRegPairAndIdx &InsertedReg) const | llvm::TargetInstrInfo | |
getInsertSubregLikeInputs(const MachineInstr &MI, unsigned DefIdx, RegSubRegPair &BaseReg, RegSubRegPairAndIdx &InsertedReg) const | llvm::TargetInstrInfo | [inline, protected, virtual] |
getInstrLatency(const InstrItineraryData *ItinData, const MachineInstr *MI, unsigned *PredCost=nullptr) const | llvm::TargetInstrInfo | [virtual] |
getInstrLatency(const InstrItineraryData *ItinData, SDNode *Node) const | llvm::TargetInstrInfo | [virtual] |
getLdStBaseRegImmOfs(MachineInstr *LdSt, unsigned &BaseReg, unsigned &Offset, const TargetRegisterInfo *TRI) const | llvm::TargetInstrInfo | [inline, virtual] |
getName(unsigned Opcode) const | llvm::MCInstrInfo | [inline] |
getNoopForMachoTarget(MCInst &NopInst) const | llvm::TargetInstrInfo | [virtual] |
getNumMicroOps(const InstrItineraryData *ItinData, const MachineInstr *MI) const | llvm::TargetInstrInfo | [virtual] |
getNumOpcodes() const | llvm::MCInstrInfo | [inline] |
getOpcodeAfterMemoryUnfold(unsigned Opc, bool UnfoldLoad, bool UnfoldStore, unsigned *LoadRegIndex=nullptr) const | llvm::TargetInstrInfo | [inline, virtual] |
getOperandLatency(const InstrItineraryData *ItinData, SDNode *DefNode, unsigned DefIdx, SDNode *UseNode, unsigned UseIdx) const | llvm::TargetInstrInfo | [virtual] |
getOperandLatency(const InstrItineraryData *ItinData, const MachineInstr *DefMI, unsigned DefIdx, const MachineInstr *UseMI, unsigned UseIdx) const | llvm::TargetInstrInfo | [virtual] |
getPartialRegUpdateClearance(const MachineInstr *MI, unsigned OpNum, const TargetRegisterInfo *TRI) const | llvm::TargetInstrInfo | [inline, virtual] |
getPredicationCost(const MachineInstr *MI) const | llvm::TargetInstrInfo | [virtual] |
getRegClass(const MCInstrDesc &TID, unsigned OpNum, const TargetRegisterInfo *TRI, const MachineFunction &MF) const | llvm::TargetInstrInfo | |
getRegSequenceInputs(const MachineInstr &MI, unsigned DefIdx, SmallVectorImpl< RegSubRegPairAndIdx > &InputRegs) const | llvm::TargetInstrInfo | |
getRegSequenceLikeInputs(const MachineInstr &MI, unsigned DefIdx, SmallVectorImpl< RegSubRegPairAndIdx > &InputRegs) const | llvm::TargetInstrInfo | [inline, protected, virtual] |
getStackSlotRange(const TargetRegisterClass *RC, unsigned SubIdx, unsigned &Size, unsigned &Offset, const TargetMachine *TM) const | llvm::TargetInstrInfo | [virtual] |
getTrap(MCInst &MI) const | llvm::TargetInstrInfo | [inline, virtual] |
getUnconditionalBranch(MCInst &MI, const MCSymbolRefExpr *BranchTarget) const | llvm::TargetInstrInfo | [inline, virtual] |
getUndefRegClearance(const MachineInstr *MI, unsigned &OpNum, const TargetRegisterInfo *TRI) const | llvm::TargetInstrInfo | [inline, virtual] |
hasHighOperandLatency(const InstrItineraryData *ItinData, const MachineRegisterInfo *MRI, const MachineInstr *DefMI, unsigned DefIdx, const MachineInstr *UseMI, unsigned UseIdx) const | llvm::TargetInstrInfo | [inline, virtual] |
hasLoadFromStackSlot(const MachineInstr *MI, const MachineMemOperand *&MMO, int &FrameIndex) const | llvm::TargetInstrInfo | [virtual] |
hasLowDefLatency(const InstrItineraryData *ItinData, const MachineInstr *DefMI, unsigned DefIdx) const | llvm::TargetInstrInfo | [virtual] |
hasPattern(MachineInstr &Root, SmallVectorImpl< MachineCombinerPattern::MC_PATTERN > &Pattern) const | llvm::TargetInstrInfo | [inline, virtual] |
hasStoreToStackSlot(const MachineInstr *MI, const MachineMemOperand *&MMO, int &FrameIndex) const | llvm::TargetInstrInfo | [virtual] |
InitMCInstrInfo(const MCInstrDesc *D, const unsigned *NI, const char *ND, unsigned NO) | llvm::MCInstrInfo | [inline] |
InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, const SmallVectorImpl< MachineOperand > &Cond, DebugLoc DL) const | llvm::TargetInstrInfo | [inline, virtual] |
insertNoop(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI) const | llvm::TargetInstrInfo | [virtual] |
insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, DebugLoc DL, unsigned DstReg, const SmallVectorImpl< MachineOperand > &Cond, unsigned TrueReg, unsigned FalseReg) const | llvm::TargetInstrInfo | [inline, virtual] |
isAsCheapAsAMove(const MachineInstr *MI) const | llvm::TargetInstrInfo | [inline, virtual] |
isCoalescableExtInstr(const MachineInstr &MI, unsigned &SrcReg, unsigned &DstReg, unsigned &SubIdx) const | llvm::TargetInstrInfo | [inline, virtual] |
isHighLatencyDef(int opc) const | llvm::TargetInstrInfo | [inline, virtual] |
isLegalToSplitMBBAt(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const | llvm::TargetInstrInfo | [inline, virtual] |
isLoadFromStackSlot(const MachineInstr *MI, int &FrameIndex) const | llvm::TargetInstrInfo | [inline, virtual] |
isLoadFromStackSlotPostFE(const MachineInstr *MI, int &FrameIndex) const | llvm::TargetInstrInfo | [inline, virtual] |
isPredicable(MachineInstr *MI) const | llvm::TargetInstrInfo | [inline, virtual] |
isPredicated(const MachineInstr *MI) const | llvm::TargetInstrInfo | [inline, virtual] |
isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles, const BranchProbability &Probability) const | llvm::TargetInstrInfo | [inline, virtual] |
isProfitableToIfCvt(MachineBasicBlock &MBB, unsigned NumCycles, unsigned ExtraPredCycles, const BranchProbability &Probability) const | llvm::TargetInstrInfo | [inline, virtual] |
isProfitableToIfCvt(MachineBasicBlock &TMBB, unsigned NumTCycles, unsigned ExtraTCycles, MachineBasicBlock &FMBB, unsigned NumFCycles, unsigned ExtraFCycles, const BranchProbability &Probability) const | llvm::TargetInstrInfo | [inline, virtual] |
isProfitableToUnpredicate(MachineBasicBlock &TMBB, MachineBasicBlock &FMBB) const | llvm::TargetInstrInfo | [inline, virtual] |
isReallyTriviallyReMaterializable(const MachineInstr *MI, AliasAnalysis *AA) const | llvm::TargetInstrInfo | [inline, protected, virtual] |
isSafeToMoveRegClassDefs(const TargetRegisterClass *RC) const | llvm::TargetInstrInfo | [inline, virtual] |
isSchedulingBoundary(const MachineInstr *MI, const MachineBasicBlock *MBB, const MachineFunction &MF) const | llvm::TargetInstrInfo | [virtual] |
isStackSlotCopy(const MachineInstr *MI, int &DestFrameIndex, int &SrcFrameIndex) const | llvm::TargetInstrInfo | [inline, virtual] |
isStoreToStackSlot(const MachineInstr *MI, int &FrameIndex) const | llvm::TargetInstrInfo | [inline, virtual] |
isStoreToStackSlotPostFE(const MachineInstr *MI, int &FrameIndex) const | llvm::TargetInstrInfo | [inline, virtual] |
isTriviallyReMaterializable(const MachineInstr *MI, AliasAnalysis *AA=nullptr) const | llvm::TargetInstrInfo | [inline] |
isUnpredicatedTerminator(const MachineInstr *MI) const | llvm::TargetInstrInfo | [virtual] |
isZeroCost(unsigned Opcode) const | llvm::TargetInstrInfo | [inline] |
loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const | llvm::TargetInstrInfo | [inline, virtual] |
optimizeCompareInstr(MachineInstr *CmpInstr, unsigned SrcReg, unsigned SrcReg2, int Mask, int Value, const MachineRegisterInfo *MRI) const | llvm::TargetInstrInfo | [inline, virtual] |
optimizeLoadInstr(MachineInstr *MI, const MachineRegisterInfo *MRI, unsigned &FoldAsLoadDefReg, MachineInstr *&DefMI) const | llvm::TargetInstrInfo | [inline, virtual] |
optimizeSelect(MachineInstr *MI, bool PreferFalse=false) const | llvm::TargetInstrInfo | [inline, virtual] |
PredicateInstruction(MachineInstr *MI, const SmallVectorImpl< MachineOperand > &Pred) const | llvm::TargetInstrInfo | [virtual] |
produceSameValue(const MachineInstr *MI0, const MachineInstr *MI1, const MachineRegisterInfo *MRI=nullptr) const | llvm::TargetInstrInfo | [virtual] |
reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, unsigned SubIdx, const MachineInstr *Orig, const TargetRegisterInfo &TRI) const | llvm::TargetInstrInfo | [virtual] |
RemoveBranch(MachineBasicBlock &MBB) const | llvm::TargetInstrInfo | [inline, virtual] |
ReplaceTailWithBranchTo(MachineBasicBlock::iterator Tail, MachineBasicBlock *NewDest) const | llvm::TargetInstrInfo | [virtual] |
ReverseBranchCondition(SmallVectorImpl< MachineOperand > &Cond) const | llvm::TargetInstrInfo | [inline, virtual] |
setExecutionDomain(MachineInstr *MI, unsigned Domain) const | llvm::TargetInstrInfo | [inline, virtual] |
shouldClusterLoads(MachineInstr *FirstLdSt, MachineInstr *SecondLdSt, unsigned NumLoads) const | llvm::TargetInstrInfo | [inline, virtual] |
shouldScheduleAdjacent(MachineInstr *First, MachineInstr *Second) const | llvm::TargetInstrInfo | [inline, virtual] |
shouldScheduleLoadsNear(SDNode *Load1, SDNode *Load2, int64_t Offset1, int64_t Offset2, unsigned NumLoads) const | llvm::TargetInstrInfo | [inline, virtual] |
storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const | llvm::TargetInstrInfo | [inline, virtual] |
SubsumesPredicate(const SmallVectorImpl< MachineOperand > &Pred1, const SmallVectorImpl< MachineOperand > &Pred2) const | llvm::TargetInstrInfo | [inline, virtual] |
TargetInstrInfo(int CFSetupOpcode=-1, int CFDestroyOpcode=-1) | llvm::TargetInstrInfo | [inline] |
unfoldMemoryOperand(MachineFunction &MF, MachineInstr *MI, unsigned Reg, bool UnfoldLoad, bool UnfoldStore, SmallVectorImpl< MachineInstr * > &NewMIs) const | llvm::TargetInstrInfo | [inline, virtual] |
unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N, SmallVectorImpl< SDNode * > &NewNodes) const | llvm::TargetInstrInfo | [inline, virtual] |
useMachineCombiner() const | llvm::TargetInstrInfo | [inline, virtual] |
usePreRAHazardRecognizer() const | llvm::TargetInstrInfo | |
verifyInstruction(const MachineInstr *MI, StringRef &ErrInfo) const | llvm::TargetInstrInfo | [inline, virtual] |
~TargetInstrInfo() | llvm::TargetInstrInfo | [virtual] |