LLVM  4.0.0
llvm::TargetInstrInfo Member List

This is the complete list of members for llvm::TargetInstrInfo, including all inherited members.

analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify=false) const llvm::TargetInstrInfoinlinevirtual
analyzeBranchPredicate(MachineBasicBlock &MBB, MachineBranchPredicate &MBP, bool AllowModify=false) const llvm::TargetInstrInfoinlinevirtual
analyzeCompare(const MachineInstr &MI, unsigned &SrcReg, unsigned &SrcReg2, int &Mask, int &Value) const llvm::TargetInstrInfoinlinevirtual
analyzeLoop(MachineLoop &L, MachineInstr *&IndVarInst, MachineInstr *&CmpInst) const llvm::TargetInstrInfoinlinevirtual
analyzeSelect(const MachineInstr &MI, SmallVectorImpl< MachineOperand > &Cond, unsigned &TrueOp, unsigned &FalseOp, bool &Optimizable) const llvm::TargetInstrInfoinlinevirtual
areLoadsFromSameBasePtr(SDNode *Load1, SDNode *Load2, int64_t &Offset1, int64_t &Offset2) const llvm::TargetInstrInfoinlinevirtual
areMemAccessesTriviallyDisjoint(MachineInstr &MIa, MachineInstr &MIb, AliasAnalysis *AA=nullptr) const llvm::TargetInstrInfoinlinevirtual
breakPartialRegDependency(MachineInstr &MI, unsigned OpNum, const TargetRegisterInfo *TRI) const llvm::TargetInstrInfoinlinevirtual
canInsertSelect(const MachineBasicBlock &MBB, ArrayRef< MachineOperand > Cond, unsigned TrueReg, unsigned FalseReg, int &CondCycles, int &TrueCycles, int &FalseCycles) const llvm::TargetInstrInfoinlinevirtual
CommuteAnyOperandIndexllvm::TargetInstrInfostatic
commuteInstruction(MachineInstr &MI, bool NewMI=false, unsigned OpIdx1=CommuteAnyOperandIndex, unsigned OpIdx2=CommuteAnyOperandIndex) const llvm::TargetInstrInfo
commuteInstructionImpl(MachineInstr &MI, bool NewMI, unsigned OpIdx1, unsigned OpIdx2) const llvm::TargetInstrInfoprotectedvirtual
computeDefOperandLatency(const InstrItineraryData *ItinData, const MachineInstr &DefMI) const llvm::TargetInstrInfo
convertToThreeAddress(MachineFunction::iterator &MFI, MachineInstr &MI, LiveVariables *LV) const llvm::TargetInstrInfoinlinevirtual
copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, const DebugLoc &DL, unsigned DestReg, unsigned SrcReg, bool KillSrc) const llvm::TargetInstrInfoinlinevirtual
CreateTargetHazardRecognizer(const TargetSubtargetInfo *STI, const ScheduleDAG *DAG) const llvm::TargetInstrInfovirtual
CreateTargetMIHazardRecognizer(const InstrItineraryData *, const ScheduleDAG *DAG) const llvm::TargetInstrInfovirtual
CreateTargetPostRAHazardRecognizer(const InstrItineraryData *, const ScheduleDAG *DAG) const llvm::TargetInstrInfovirtual
CreateTargetPostRAHazardRecognizer(const MachineFunction &MF) const llvm::TargetInstrInfoinlinevirtual
CreateTargetScheduleState(const TargetSubtargetInfo &) const llvm::TargetInstrInfoinlinevirtual
decomposeMachineOperandsTargetFlags(unsigned) const llvm::TargetInstrInfoinlinevirtual
defaultDefLatency(const MCSchedModel &SchedModel, const MachineInstr &DefMI) const llvm::TargetInstrInfo
DefinesPredicate(MachineInstr &MI, std::vector< MachineOperand > &Pred) const llvm::TargetInstrInfoinlinevirtual
duplicate(MachineInstr &Orig, MachineFunction &MF) const llvm::TargetInstrInfovirtual
expandPostRAPseudo(MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
findCommutedOpIndices(MachineInstr &MI, unsigned &SrcOpIdx1, unsigned &SrcOpIdx2) const llvm::TargetInstrInfovirtual
fixCommutedOpIndices(unsigned &ResultIdx1, unsigned &ResultIdx2, unsigned CommutableOpIdx1, unsigned CommutableOpIdx2)llvm::TargetInstrInfoprotectedstatic
FoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, unsigned Reg, MachineRegisterInfo *MRI) const llvm::TargetInstrInfoinlinevirtual
foldMemoryOperand(MachineInstr &MI, ArrayRef< unsigned > Ops, int FrameIndex, LiveIntervals *LIS=nullptr) const llvm::TargetInstrInfo
foldMemoryOperand(MachineInstr &MI, ArrayRef< unsigned > Ops, MachineInstr &LoadMI, LiveIntervals *LIS=nullptr) const llvm::TargetInstrInfo
foldMemoryOperandImpl(MachineFunction &MF, MachineInstr &MI, ArrayRef< unsigned > Ops, MachineBasicBlock::iterator InsertPt, int FrameIndex, LiveIntervals *LIS=nullptr) const llvm::TargetInstrInfoinlineprotectedvirtual
foldMemoryOperandImpl(MachineFunction &MF, MachineInstr &MI, ArrayRef< unsigned > Ops, MachineBasicBlock::iterator InsertPt, MachineInstr &LoadMI, LiveIntervals *LIS=nullptr) const llvm::TargetInstrInfoinlineprotectedvirtual
genAlternativeCodeSequence(MachineInstr &Root, MachineCombinerPattern Pattern, SmallVectorImpl< MachineInstr * > &InsInstrs, SmallVectorImpl< MachineInstr * > &DelInstrs, DenseMap< unsigned, unsigned > &InstrIdxForVirtReg) const llvm::TargetInstrInfovirtual
get(unsigned Opcode) const llvm::MCInstrInfoinline
getBaseAndOffsetPosition(const MachineInstr &MI, unsigned &BasePos, unsigned &OffsetPos) const llvm::TargetInstrInfoinlinevirtual
getBranchDestBlock(const MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
getCallFrameDestroyOpcode() const llvm::TargetInstrInfoinline
getCallFrameSetupOpcode() const llvm::TargetInstrInfoinline
getCatchReturnOpcode() const llvm::TargetInstrInfoinline
getExecutionDomain(const MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
getExtractSubregInputs(const MachineInstr &MI, unsigned DefIdx, RegSubRegPairAndIdx &InputReg) const llvm::TargetInstrInfo
getExtractSubregLikeInputs(const MachineInstr &MI, unsigned DefIdx, RegSubRegPairAndIdx &InputReg) const llvm::TargetInstrInfoinlineprotectedvirtual
getIncrementValue(const MachineInstr &MI, int &Value) const llvm::TargetInstrInfoinlinevirtual
getInlineAsmLength(const char *Str, const MCAsmInfo &MAI) const llvm::TargetInstrInfovirtual
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::TargetInstrInfoinlineprotectedvirtual
getInstrLatency(const InstrItineraryData *ItinData, const MachineInstr &MI, unsigned *PredCost=nullptr) const llvm::TargetInstrInfovirtual
getInstrLatency(const InstrItineraryData *ItinData, SDNode *Node) const llvm::TargetInstrInfovirtual
getInstSizeInBytes(const MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
getMachineCombinerPatterns(MachineInstr &Root, SmallVectorImpl< MachineCombinerPattern > &Patterns) const llvm::TargetInstrInfovirtual
getMachineCSELookAheadLimit() const llvm::TargetInstrInfoinlinevirtual
getMemOpBaseRegImmOfs(MachineInstr &MemOp, unsigned &BaseReg, int64_t &Offset, const TargetRegisterInfo *TRI) const llvm::TargetInstrInfoinlinevirtual
getName(unsigned Opcode) const llvm::MCInstrInfoinline
getNoopForMachoTarget(MCInst &NopInst) const llvm::TargetInstrInfovirtual
getNumMicroOps(const InstrItineraryData *ItinData, const MachineInstr &MI) const llvm::TargetInstrInfovirtual
getNumOpcodes() const llvm::MCInstrInfoinline
getOpcodeAfterMemoryUnfold(unsigned Opc, bool UnfoldLoad, bool UnfoldStore, unsigned *LoadRegIndex=nullptr) const llvm::TargetInstrInfoinlinevirtual
getOperandLatency(const InstrItineraryData *ItinData, SDNode *DefNode, unsigned DefIdx, SDNode *UseNode, unsigned UseIdx) const llvm::TargetInstrInfovirtual
getOperandLatency(const InstrItineraryData *ItinData, const MachineInstr &DefMI, unsigned DefIdx, const MachineInstr &UseMI, unsigned UseIdx) const llvm::TargetInstrInfovirtual
getPartialRegUpdateClearance(const MachineInstr &MI, unsigned OpNum, const TargetRegisterInfo *TRI) const llvm::TargetInstrInfoinlinevirtual
getPredicationCost(const MachineInstr &MI) const llvm::TargetInstrInfovirtual
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::TargetInstrInfoinlineprotectedvirtual
getReturnOpcode() const llvm::TargetInstrInfoinline
getSerializableBitmaskMachineOperandTargetFlags() const llvm::TargetInstrInfoinlinevirtual
getSerializableDirectMachineOperandTargetFlags() const llvm::TargetInstrInfoinlinevirtual
getSerializableTargetIndices() const llvm::TargetInstrInfoinlinevirtual
getSPAdjust(const MachineInstr &MI) const llvm::TargetInstrInfovirtual
getStackSlotRange(const TargetRegisterClass *RC, unsigned SubIdx, unsigned &Size, unsigned &Offset, const MachineFunction &MF) const llvm::TargetInstrInfovirtual
getUndefRegClearance(const MachineInstr &MI, unsigned &OpNum, const TargetRegisterInfo *TRI) const llvm::TargetInstrInfoinlinevirtual
hasHighOperandLatency(const TargetSchedModel &SchedModel, const MachineRegisterInfo *MRI, const MachineInstr &DefMI, unsigned DefIdx, const MachineInstr &UseMI, unsigned UseIdx) const llvm::TargetInstrInfoinlinevirtual
hasLoadFromStackSlot(const MachineInstr &MI, const MachineMemOperand *&MMO, int &FrameIndex) const llvm::TargetInstrInfovirtual
hasLowDefLatency(const TargetSchedModel &SchedModel, const MachineInstr &DefMI, unsigned DefIdx) const llvm::TargetInstrInfovirtual
hasReassociableOperands(const MachineInstr &Inst, const MachineBasicBlock *MBB) const llvm::TargetInstrInfovirtual
hasReassociableSibling(const MachineInstr &Inst, bool &Commuted) const llvm::TargetInstrInfo
hasStoreToStackSlot(const MachineInstr &MI, const MachineMemOperand *&MMO, int &FrameIndex) const llvm::TargetInstrInfovirtual
InitMCInstrInfo(const MCInstrDesc *D, const unsigned *NI, const char *ND, unsigned NO)llvm::MCInstrInfoinline
insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, ArrayRef< MachineOperand > Cond, const DebugLoc &DL, int *BytesAdded=nullptr) const llvm::TargetInstrInfoinlinevirtual
insertIndirectBranch(MachineBasicBlock &MBB, MachineBasicBlock &NewDestBB, const DebugLoc &DL, int64_t BrOffset=0, RegScavenger *RS=nullptr) const llvm::TargetInstrInfoinlinevirtual
insertNoop(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI) const llvm::TargetInstrInfovirtual
insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, unsigned DstReg, ArrayRef< MachineOperand > Cond, unsigned TrueReg, unsigned FalseReg) const llvm::TargetInstrInfoinlinevirtual
insertUnconditionalBranch(MachineBasicBlock &MBB, MachineBasicBlock *DestBB, const DebugLoc &DL, int *BytesAdded=nullptr) const llvm::TargetInstrInfoinline
isAsCheapAsAMove(const MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
isAssociativeAndCommutative(const MachineInstr &Inst) const llvm::TargetInstrInfoinlinevirtual
isBranchOffsetInRange(unsigned BranchOpc, int64_t BrOffset) const llvm::TargetInstrInfoinlinevirtual
isCoalescableExtInstr(const MachineInstr &MI, unsigned &SrcReg, unsigned &DstReg, unsigned &SubIdx) const llvm::TargetInstrInfoinlinevirtual
isGenericOpcode(unsigned Opc)llvm::TargetInstrInfoinlinestatic
isHighLatencyDef(int opc) const llvm::TargetInstrInfoinlinevirtual
isLegalToSplitMBBAt(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const llvm::TargetInstrInfoinlinevirtual
isLoadFromStackSlot(const MachineInstr &MI, int &FrameIndex) const llvm::TargetInstrInfoinlinevirtual
isLoadFromStackSlotPostFE(const MachineInstr &MI, int &FrameIndex) const llvm::TargetInstrInfoinlinevirtual
isPostIncrement(const MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
isPredicable(MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
isPredicated(const MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles, BranchProbability Probability) const llvm::TargetInstrInfoinlinevirtual
isProfitableToIfCvt(MachineBasicBlock &MBB, unsigned NumCycles, unsigned ExtraPredCycles, BranchProbability Probability) const llvm::TargetInstrInfoinlinevirtual
isProfitableToIfCvt(MachineBasicBlock &TMBB, unsigned NumTCycles, unsigned ExtraTCycles, MachineBasicBlock &FMBB, unsigned NumFCycles, unsigned ExtraFCycles, BranchProbability Probability) const llvm::TargetInstrInfoinlinevirtual
isProfitableToUnpredicate(MachineBasicBlock &TMBB, MachineBasicBlock &FMBB) const llvm::TargetInstrInfoinlinevirtual
isReallyTriviallyReMaterializable(const MachineInstr &MI, AliasAnalysis *AA) const llvm::TargetInstrInfoinlineprotectedvirtual
isReassociationCandidate(const MachineInstr &Inst, bool &Commuted) const llvm::TargetInstrInfo
isSafeToMoveRegClassDefs(const TargetRegisterClass *RC) const llvm::TargetInstrInfoinlinevirtual
isSchedulingBoundary(const MachineInstr &MI, const MachineBasicBlock *MBB, const MachineFunction &MF) const llvm::TargetInstrInfovirtual
isStackSlotCopy(const MachineInstr &MI, int &DestFrameIndex, int &SrcFrameIndex) const llvm::TargetInstrInfoinlinevirtual
isStoreToStackSlot(const MachineInstr &MI, int &FrameIndex) const llvm::TargetInstrInfoinlinevirtual
isStoreToStackSlotPostFE(const MachineInstr &MI, int &FrameIndex) const llvm::TargetInstrInfoinlinevirtual
isSubregFoldable() const llvm::TargetInstrInfoinlinevirtual
isTailCall(const MachineInstr &Inst) const llvm::TargetInstrInfoinlinevirtual
isThroughputPattern(MachineCombinerPattern Pattern) const llvm::TargetInstrInfovirtual
isTriviallyReMaterializable(const MachineInstr &MI, AliasAnalysis *AA=nullptr) const llvm::TargetInstrInfoinline
isUnpredicatedTerminator(const MachineInstr &MI) const llvm::TargetInstrInfovirtual
isZeroCost(unsigned Opcode) const llvm::TargetInstrInfoinline
loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const llvm::TargetInstrInfoinlinevirtual
optimizeCompareInstr(MachineInstr &CmpInstr, unsigned SrcReg, unsigned SrcReg2, int Mask, int Value, const MachineRegisterInfo *MRI) const llvm::TargetInstrInfoinlinevirtual
optimizeCondBranch(MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
optimizeLoadInstr(MachineInstr &MI, const MachineRegisterInfo *MRI, unsigned &FoldAsLoadDefReg, MachineInstr *&DefMI) const llvm::TargetInstrInfoinlinevirtual
optimizeSelect(MachineInstr &MI, SmallPtrSetImpl< MachineInstr * > &NewMIs, bool PreferFalse=false) const llvm::TargetInstrInfoinlinevirtual
PredicateInstruction(MachineInstr &MI, ArrayRef< MachineOperand > Pred) const llvm::TargetInstrInfovirtual
produceSameValue(const MachineInstr &MI0, const MachineInstr &MI1, const MachineRegisterInfo *MRI=nullptr) const llvm::TargetInstrInfovirtual
reassociateOps(MachineInstr &Root, MachineInstr &Prev, MachineCombinerPattern Pattern, SmallVectorImpl< MachineInstr * > &InsInstrs, SmallVectorImpl< MachineInstr * > &DelInstrs, DenseMap< unsigned, unsigned > &InstrIdxForVirtReg) const llvm::TargetInstrInfo
reduceLoopCount(MachineBasicBlock &MBB, MachineInstr *IndVar, MachineInstr &Cmp, SmallVectorImpl< MachineOperand > &Cond, SmallVectorImpl< MachineInstr * > &PrevInsts, unsigned Iter, unsigned MaxIter) const llvm::TargetInstrInfoinlinevirtual
reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, unsigned SubIdx, const MachineInstr &Orig, const TargetRegisterInfo &TRI) const llvm::TargetInstrInfovirtual
removeBranch(MachineBasicBlock &MBB, int *BytesRemoved=nullptr) const llvm::TargetInstrInfoinlinevirtual
ReplaceTailWithBranchTo(MachineBasicBlock::iterator Tail, MachineBasicBlock *NewDest) const llvm::TargetInstrInfovirtual
reverseBranchCondition(SmallVectorImpl< MachineOperand > &Cond) const llvm::TargetInstrInfoinlinevirtual
setExecutionDomain(MachineInstr &MI, unsigned Domain) const llvm::TargetInstrInfoinlinevirtual
setSpecialOperandAttr(MachineInstr &OldMI1, MachineInstr &OldMI2, MachineInstr &NewMI1, MachineInstr &NewMI2) const llvm::TargetInstrInfoinlinevirtual
shouldClusterMemOps(MachineInstr &FirstLdSt, MachineInstr &SecondLdSt, unsigned NumLoads) const llvm::TargetInstrInfoinlinevirtual
shouldScheduleAdjacent(const MachineInstr &First, const MachineInstr &Second) const llvm::TargetInstrInfoinlinevirtual
shouldScheduleLoadsNear(SDNode *Load1, SDNode *Load2, int64_t Offset1, int64_t Offset2, unsigned NumLoads) const llvm::TargetInstrInfoinlinevirtual
shouldSink(const MachineInstr &MI) const llvm::TargetInstrInfoinlinevirtual
storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const llvm::TargetInstrInfoinlinevirtual
SubsumesPredicate(ArrayRef< MachineOperand > Pred1, ArrayRef< MachineOperand > Pred2) const llvm::TargetInstrInfoinlinevirtual
TargetInstrInfo(unsigned CFSetupOpcode=~0u, unsigned CFDestroyOpcode=~0u, unsigned CatchRetOpcode=~0u, unsigned ReturnOpcode=~0u)llvm::TargetInstrInfoinline
unfoldMemoryOperand(MachineFunction &MF, MachineInstr &MI, unsigned Reg, bool UnfoldLoad, bool UnfoldStore, SmallVectorImpl< MachineInstr * > &NewMIs) const llvm::TargetInstrInfoinlinevirtual
unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N, SmallVectorImpl< SDNode * > &NewNodes) const llvm::TargetInstrInfoinlinevirtual
useMachineCombiner() const llvm::TargetInstrInfoinlinevirtual
usePreRAHazardRecognizer() const llvm::TargetInstrInfo
verifyInstruction(const MachineInstr &MI, StringRef &ErrInfo) const llvm::TargetInstrInfoinlinevirtual
~TargetInstrInfo()llvm::TargetInstrInfovirtual