LLVM  15.0.0git
Public Member Functions | List of all members
llvm::TargetTransformInfo::Concept Class Referenceabstract

#include "llvm/Analysis/TargetTransformInfo.h"

Public Member Functions

virtual ~Concept ()=0
 
virtual const DataLayoutgetDataLayout () const =0
 
virtual InstructionCost getGEPCost (Type *PointeeType, const Value *Ptr, ArrayRef< const Value * > Operands, TTI::TargetCostKind CostKind)=0
 
virtual unsigned getInliningThresholdMultiplier ()=0
 
virtual unsigned adjustInliningThreshold (const CallBase *CB)=0
 
virtual int getInlinerVectorBonusPercent ()=0
 
virtual InstructionCost getMemcpyCost (const Instruction *I)=0
 
virtual unsigned getEstimatedNumberOfCaseClusters (const SwitchInst &SI, unsigned &JTSize, ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI)=0
 
virtual InstructionCost getUserCost (const User *U, ArrayRef< const Value * > Operands, TargetCostKind CostKind)=0
 
virtual BranchProbability getPredictableBranchThreshold ()=0
 
virtual bool hasBranchDivergence ()=0
 
virtual bool useGPUDivergenceAnalysis ()=0
 
virtual bool isSourceOfDivergence (const Value *V)=0
 
virtual bool isAlwaysUniform (const Value *V)=0
 
virtual unsigned getFlatAddressSpace ()=0
 
virtual bool collectFlatAddressOperands (SmallVectorImpl< int > &OpIndexes, Intrinsic::ID IID) const =0
 
virtual bool isNoopAddrSpaceCast (unsigned FromAS, unsigned ToAS) const =0
 
virtual bool canHaveNonUndefGlobalInitializerInAddressSpace (unsigned AS) const =0
 
virtual unsigned getAssumedAddrSpace (const Value *V) const =0
 
virtual std::pair< const Value *, unsigned > getPredicatedAddrSpace (const Value *V) const =0
 
virtual ValuerewriteIntrinsicWithAddressSpace (IntrinsicInst *II, Value *OldV, Value *NewV) const =0
 
virtual bool isLoweredToCall (const Function *F)=0
 
virtual void getUnrollingPreferences (Loop *L, ScalarEvolution &, UnrollingPreferences &UP, OptimizationRemarkEmitter *ORE)=0
 
virtual void getPeelingPreferences (Loop *L, ScalarEvolution &SE, PeelingPreferences &PP)=0
 
virtual bool isHardwareLoopProfitable (Loop *L, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *LibInfo, HardwareLoopInfo &HWLoopInfo)=0
 
virtual bool preferPredicateOverEpilogue (Loop *L, LoopInfo *LI, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *TLI, DominatorTree *DT, const LoopAccessInfo *LAI)=0
 
virtual bool emitGetActiveLaneMask ()=0
 
virtual Optional< Instruction * > instCombineIntrinsic (InstCombiner &IC, IntrinsicInst &II)=0
 
virtual Optional< Value * > simplifyDemandedUseBitsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedMask, KnownBits &Known, bool &KnownBitsComputed)=0
 
virtual Optional< Value * > simplifyDemandedVectorEltsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedElts, APInt &UndefElts, APInt &UndefElts2, APInt &UndefElts3, std::function< void(Instruction *, unsigned, APInt, APInt &)> SimplifyAndSetOp)=0
 
virtual bool isLegalAddImmediate (int64_t Imm)=0
 
virtual bool isLegalICmpImmediate (int64_t Imm)=0
 
virtual bool isLegalAddressingMode (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace, Instruction *I)=0
 
virtual bool isLSRCostLess (TargetTransformInfo::LSRCost &C1, TargetTransformInfo::LSRCost &C2)=0
 
virtual bool isNumRegsMajorCostOfLSR ()=0
 
virtual bool isProfitableLSRChainElement (Instruction *I)=0
 
virtual bool canMacroFuseCmp ()=0
 
virtual bool canSaveCmp (Loop *L, BranchInst **BI, ScalarEvolution *SE, LoopInfo *LI, DominatorTree *DT, AssumptionCache *AC, TargetLibraryInfo *LibInfo)=0
 
virtual AddressingModeKind getPreferredAddressingMode (const Loop *L, ScalarEvolution *SE) const =0
 
virtual bool isLegalMaskedStore (Type *DataType, Align Alignment)=0
 
virtual bool isLegalMaskedLoad (Type *DataType, Align Alignment)=0
 
virtual bool isLegalNTStore (Type *DataType, Align Alignment)=0
 
virtual bool isLegalNTLoad (Type *DataType, Align Alignment)=0
 
virtual bool isLegalBroadcastLoad (Type *ElementTy, ElementCount NumElements) const =0
 
virtual bool isLegalMaskedScatter (Type *DataType, Align Alignment)=0
 
virtual bool isLegalMaskedGather (Type *DataType, Align Alignment)=0
 
virtual bool forceScalarizeMaskedGather (VectorType *DataType, Align Alignment)=0
 
virtual bool forceScalarizeMaskedScatter (VectorType *DataType, Align Alignment)=0
 
virtual bool isLegalMaskedCompressStore (Type *DataType)=0
 
virtual bool isLegalMaskedExpandLoad (Type *DataType)=0
 
virtual bool enableOrderedReductions ()=0
 
virtual bool hasDivRemOp (Type *DataType, bool IsSigned)=0
 
virtual bool hasVolatileVariant (Instruction *I, unsigned AddrSpace)=0
 
virtual bool prefersVectorizedAddressing ()=0
 
virtual InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace)=0
 
virtual bool LSRWithInstrQueries ()=0
 
virtual bool isTruncateFree (Type *Ty1, Type *Ty2)=0
 
virtual bool isProfitableToHoist (Instruction *I)=0
 
virtual bool useAA ()=0
 
virtual bool isTypeLegal (Type *Ty)=0
 
virtual unsigned getRegUsageForType (Type *Ty)=0
 
virtual bool shouldBuildLookupTables ()=0
 
virtual bool shouldBuildLookupTablesForConstant (Constant *C)=0
 
virtual bool shouldBuildRelLookupTables ()=0
 
virtual bool useColdCCForColdCall (Function &F)=0
 
virtual InstructionCost getScalarizationOverhead (VectorType *Ty, const APInt &DemandedElts, bool Insert, bool Extract)=0
 
virtual InstructionCost getOperandsScalarizationOverhead (ArrayRef< const Value * > Args, ArrayRef< Type * > Tys)=0
 
virtual bool supportsEfficientVectorElementLoadStore ()=0
 
virtual bool enableAggressiveInterleaving (bool LoopHasReductions)=0
 
virtual MemCmpExpansionOptions enableMemCmpExpansion (bool OptSize, bool IsZeroCmp) const =0
 
virtual bool enableInterleavedAccessVectorization ()=0
 
virtual bool enableMaskedInterleavedAccessVectorization ()=0
 
virtual bool isFPVectorizationPotentiallyUnsafe ()=0
 
virtual bool allowsMisalignedMemoryAccesses (LLVMContext &Context, unsigned BitWidth, unsigned AddressSpace, Align Alignment, bool *Fast)=0
 
virtual PopcntSupportKind getPopcntSupport (unsigned IntTyWidthInBit)=0
 
virtual bool haveFastSqrt (Type *Ty)=0
 
virtual bool isFCmpOrdCheaperThanFCmpZero (Type *Ty)=0
 
virtual InstructionCost getFPOpCost (Type *Ty)=0
 
virtual InstructionCost getIntImmCodeSizeCost (unsigned Opc, unsigned Idx, const APInt &Imm, Type *Ty)=0
 
virtual InstructionCost getIntImmCost (const APInt &Imm, Type *Ty, TargetCostKind CostKind)=0
 
virtual InstructionCost getIntImmCostInst (unsigned Opc, unsigned Idx, const APInt &Imm, Type *Ty, TargetCostKind CostKind, Instruction *Inst=nullptr)=0
 
virtual InstructionCost getIntImmCostIntrin (Intrinsic::ID IID, unsigned Idx, const APInt &Imm, Type *Ty, TargetCostKind CostKind)=0
 
virtual unsigned getNumberOfRegisters (unsigned ClassID) const =0
 
virtual unsigned getRegisterClassForType (bool Vector, Type *Ty=nullptr) const =0
 
virtual const char * getRegisterClassName (unsigned ClassID) const =0
 
virtual TypeSize getRegisterBitWidth (RegisterKind K) const =0
 
virtual unsigned getMinVectorRegisterBitWidth () const =0
 
virtual Optional< unsigned > getMaxVScale () const =0
 
virtual Optional< unsigned > getVScaleForTuning () const =0
 
virtual bool shouldMaximizeVectorBandwidth (TargetTransformInfo::RegisterKind K) const =0
 
virtual ElementCount getMinimumVF (unsigned ElemWidth, bool IsScalable) const =0
 
virtual unsigned getMaximumVF (unsigned ElemWidth, unsigned Opcode) const =0
 
virtual unsigned getStoreMinimumVF (unsigned VF, Type *ScalarMemTy, Type *ScalarValTy) const =0
 
virtual bool shouldConsiderAddressTypePromotion (const Instruction &I, bool &AllowPromotionWithoutCommonHeader)=0
 
virtual unsigned getCacheLineSize () const =0
 
virtual Optional< unsigned > getCacheSize (CacheLevel Level) const =0
 
virtual Optional< unsigned > getCacheAssociativity (CacheLevel Level) const =0
 
virtual unsigned getPrefetchDistance () const =0
 
virtual unsigned getMinPrefetchStride (unsigned NumMemAccesses, unsigned NumStridedMemAccesses, unsigned NumPrefetches, bool HasCall) const =0
 
virtual unsigned getMaxPrefetchIterationsAhead () const =0
 
virtual bool enableWritePrefetching () const =0
 
virtual unsigned getMaxInterleaveFactor (unsigned VF)=0
 
virtual InstructionCost getArithmeticInstrCost (unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind, OperandValueKind Opd1Info, OperandValueKind Opd2Info, OperandValueProperties Opd1PropInfo, OperandValueProperties Opd2PropInfo, ArrayRef< const Value * > Args, const Instruction *CxtI=nullptr)=0
 
virtual InstructionCost getShuffleCost (ShuffleKind Kind, VectorType *Tp, ArrayRef< int > Mask, int Index, VectorType *SubTp, ArrayRef< const Value * > Args)=0
 
virtual InstructionCost getCastInstrCost (unsigned Opcode, Type *Dst, Type *Src, CastContextHint CCH, TTI::TargetCostKind CostKind, const Instruction *I)=0
 
virtual InstructionCost getExtractWithExtendCost (unsigned Opcode, Type *Dst, VectorType *VecTy, unsigned Index)=0
 
virtual InstructionCost getCFInstrCost (unsigned Opcode, TTI::TargetCostKind CostKind, const Instruction *I=nullptr)=0
 
virtual InstructionCost getCmpSelInstrCost (unsigned Opcode, Type *ValTy, Type *CondTy, CmpInst::Predicate VecPred, TTI::TargetCostKind CostKind, const Instruction *I)=0
 
virtual InstructionCost getVectorInstrCost (unsigned Opcode, Type *Val, unsigned Index)=0
 
virtual InstructionCost getReplicationShuffleCost (Type *EltTy, int ReplicationFactor, int VF, const APInt &DemandedDstElts, TTI::TargetCostKind CostKind)=0
 
virtual InstructionCost getMemoryOpCost (unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, const Instruction *I)=0
 
virtual InstructionCost getVPMemoryOpCost (unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, const Instruction *I)=0
 
virtual InstructionCost getMaskedMemoryOpCost (unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind)=0
 
virtual InstructionCost getGatherScatterOpCost (unsigned Opcode, Type *DataTy, const Value *Ptr, bool VariableMask, Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I=nullptr)=0
 
virtual InstructionCost getInterleavedMemoryOpCost (unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef< unsigned > Indices, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, bool UseMaskForCond=false, bool UseMaskForGaps=false)=0
 
virtual InstructionCost getArithmeticReductionCost (unsigned Opcode, VectorType *Ty, Optional< FastMathFlags > FMF, TTI::TargetCostKind CostKind)=0
 
virtual InstructionCost getMinMaxReductionCost (VectorType *Ty, VectorType *CondTy, bool IsUnsigned, TTI::TargetCostKind CostKind)=0
 
virtual InstructionCost getExtendedAddReductionCost (bool IsMLA, bool IsUnsigned, Type *ResTy, VectorType *Ty, TTI::TargetCostKind CostKind=TTI::TCK_RecipThroughput)=0
 
virtual InstructionCost getIntrinsicInstrCost (const IntrinsicCostAttributes &ICA, TTI::TargetCostKind CostKind)=0
 
virtual InstructionCost getCallInstrCost (Function *F, Type *RetTy, ArrayRef< Type * > Tys, TTI::TargetCostKind CostKind)=0
 
virtual unsigned getNumberOfParts (Type *Tp)=0
 
virtual InstructionCost getAddressComputationCost (Type *Ty, ScalarEvolution *SE, const SCEV *Ptr)=0
 
virtual InstructionCost getCostOfKeepingLiveOverCall (ArrayRef< Type * > Tys)=0
 
virtual bool getTgtMemIntrinsic (IntrinsicInst *Inst, MemIntrinsicInfo &Info)=0
 
virtual unsigned getAtomicMemIntrinsicMaxElementSize () const =0
 
virtual ValuegetOrCreateResultFromMemIntrinsic (IntrinsicInst *Inst, Type *ExpectedType)=0
 
virtual TypegetMemcpyLoopLoweringType (LLVMContext &Context, Value *Length, unsigned SrcAddrSpace, unsigned DestAddrSpace, unsigned SrcAlign, unsigned DestAlign, Optional< uint32_t > AtomicElementSize) const =0
 
virtual void getMemcpyLoopResidualLoweringType (SmallVectorImpl< Type * > &OpsOut, LLVMContext &Context, unsigned RemainingBytes, unsigned SrcAddrSpace, unsigned DestAddrSpace, unsigned SrcAlign, unsigned DestAlign, Optional< uint32_t > AtomicCpySize) const =0
 
virtual bool areInlineCompatible (const Function *Caller, const Function *Callee) const =0
 
virtual bool areTypesABICompatible (const Function *Caller, const Function *Callee, const ArrayRef< Type * > &Types) const =0
 
virtual bool isIndexedLoadLegal (MemIndexedMode Mode, Type *Ty) const =0
 
virtual bool isIndexedStoreLegal (MemIndexedMode Mode, Type *Ty) const =0
 
virtual unsigned getLoadStoreVecRegBitWidth (unsigned AddrSpace) const =0
 
virtual bool isLegalToVectorizeLoad (LoadInst *LI) const =0
 
virtual bool isLegalToVectorizeStore (StoreInst *SI) const =0
 
virtual bool isLegalToVectorizeLoadChain (unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const =0
 
virtual bool isLegalToVectorizeStoreChain (unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const =0
 
virtual bool isLegalToVectorizeReduction (const RecurrenceDescriptor &RdxDesc, ElementCount VF) const =0
 
virtual bool isElementTypeLegalForScalableVector (Type *Ty) const =0
 
virtual unsigned getLoadVectorFactor (unsigned VF, unsigned LoadSize, unsigned ChainSizeInBytes, VectorType *VecTy) const =0
 
virtual unsigned getStoreVectorFactor (unsigned VF, unsigned StoreSize, unsigned ChainSizeInBytes, VectorType *VecTy) const =0
 
virtual bool preferInLoopReduction (unsigned Opcode, Type *Ty, ReductionFlags) const =0
 
virtual bool preferPredicatedReductionSelect (unsigned Opcode, Type *Ty, ReductionFlags) const =0
 
virtual bool shouldExpandReduction (const IntrinsicInst *II) const =0
 
virtual unsigned getGISelRematGlobalCost () const =0
 
virtual bool enableScalableVectorization () const =0
 
virtual bool supportsScalableVectors () const =0
 
virtual bool hasActiveVectorLength (unsigned Opcode, Type *DataType, Align Alignment) const =0
 
virtual InstructionCost getInstructionLatency (const Instruction *I)=0
 
virtual VPLegalization getVPLegalizationStrategy (const VPIntrinsic &PI) const =0
 

Detailed Description

Definition at line 1493 of file TargetTransformInfo.h.

Constructor & Destructor Documentation

◆ ~Concept()

TargetTransformInfo::Concept::~Concept ( )
pure virtualdefault

Member Function Documentation

◆ adjustInliningThreshold()

virtual unsigned llvm::TargetTransformInfo::Concept::adjustInliningThreshold ( const CallBase CB)
pure virtual

◆ allowsMisalignedMemoryAccesses()

virtual bool llvm::TargetTransformInfo::Concept::allowsMisalignedMemoryAccesses ( LLVMContext Context,
unsigned  BitWidth,
unsigned  AddressSpace,
Align  Alignment,
bool *  Fast 
)
pure virtual

◆ areInlineCompatible()

virtual bool llvm::TargetTransformInfo::Concept::areInlineCompatible ( const Function Caller,
const Function Callee 
) const
pure virtual

◆ areTypesABICompatible()

virtual bool llvm::TargetTransformInfo::Concept::areTypesABICompatible ( const Function Caller,
const Function Callee,
const ArrayRef< Type * > &  Types 
) const
pure virtual

◆ canHaveNonUndefGlobalInitializerInAddressSpace()

virtual bool llvm::TargetTransformInfo::Concept::canHaveNonUndefGlobalInitializerInAddressSpace ( unsigned  AS) const
pure virtual

◆ canMacroFuseCmp()

virtual bool llvm::TargetTransformInfo::Concept::canMacroFuseCmp ( )
pure virtual

◆ canSaveCmp()

virtual bool llvm::TargetTransformInfo::Concept::canSaveCmp ( Loop L,
BranchInst **  BI,
ScalarEvolution SE,
LoopInfo LI,
DominatorTree DT,
AssumptionCache AC,
TargetLibraryInfo LibInfo 
)
pure virtual

◆ collectFlatAddressOperands()

virtual bool llvm::TargetTransformInfo::Concept::collectFlatAddressOperands ( SmallVectorImpl< int > &  OpIndexes,
Intrinsic::ID  IID 
) const
pure virtual

◆ emitGetActiveLaneMask()

virtual bool llvm::TargetTransformInfo::Concept::emitGetActiveLaneMask ( )
pure virtual

◆ enableAggressiveInterleaving()

virtual bool llvm::TargetTransformInfo::Concept::enableAggressiveInterleaving ( bool  LoopHasReductions)
pure virtual

◆ enableInterleavedAccessVectorization()

virtual bool llvm::TargetTransformInfo::Concept::enableInterleavedAccessVectorization ( )
pure virtual

◆ enableMaskedInterleavedAccessVectorization()

virtual bool llvm::TargetTransformInfo::Concept::enableMaskedInterleavedAccessVectorization ( )
pure virtual

◆ enableMemCmpExpansion()

virtual MemCmpExpansionOptions llvm::TargetTransformInfo::Concept::enableMemCmpExpansion ( bool  OptSize,
bool  IsZeroCmp 
) const
pure virtual

◆ enableOrderedReductions()

virtual bool llvm::TargetTransformInfo::Concept::enableOrderedReductions ( )
pure virtual

◆ enableScalableVectorization()

virtual bool llvm::TargetTransformInfo::Concept::enableScalableVectorization ( ) const
pure virtual

◆ enableWritePrefetching()

virtual bool llvm::TargetTransformInfo::Concept::enableWritePrefetching ( ) const
pure virtual
Returns
True if prefetching should also be done for writes.

◆ forceScalarizeMaskedGather()

virtual bool llvm::TargetTransformInfo::Concept::forceScalarizeMaskedGather ( VectorType DataType,
Align  Alignment 
)
pure virtual

◆ forceScalarizeMaskedScatter()

virtual bool llvm::TargetTransformInfo::Concept::forceScalarizeMaskedScatter ( VectorType DataType,
Align  Alignment 
)
pure virtual

◆ getAddressComputationCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getAddressComputationCost ( Type Ty,
ScalarEvolution SE,
const SCEV Ptr 
)
pure virtual

◆ getArithmeticInstrCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getArithmeticInstrCost ( unsigned  Opcode,
Type Ty,
TTI::TargetCostKind  CostKind,
OperandValueKind  Opd1Info,
OperandValueKind  Opd2Info,
OperandValueProperties  Opd1PropInfo,
OperandValueProperties  Opd2PropInfo,
ArrayRef< const Value * >  Args,
const Instruction CxtI = nullptr 
)
pure virtual

◆ getArithmeticReductionCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getArithmeticReductionCost ( unsigned  Opcode,
VectorType Ty,
Optional< FastMathFlags FMF,
TTI::TargetCostKind  CostKind 
)
pure virtual

◆ getAssumedAddrSpace()

virtual unsigned llvm::TargetTransformInfo::Concept::getAssumedAddrSpace ( const Value V) const
pure virtual

◆ getAtomicMemIntrinsicMaxElementSize()

virtual unsigned llvm::TargetTransformInfo::Concept::getAtomicMemIntrinsicMaxElementSize ( ) const
pure virtual

◆ getCacheAssociativity()

virtual Optional<unsigned> llvm::TargetTransformInfo::Concept::getCacheAssociativity ( CacheLevel  Level) const
pure virtual

◆ getCacheLineSize()

virtual unsigned llvm::TargetTransformInfo::Concept::getCacheLineSize ( ) const
pure virtual

◆ getCacheSize()

virtual Optional<unsigned> llvm::TargetTransformInfo::Concept::getCacheSize ( CacheLevel  Level) const
pure virtual

◆ getCallInstrCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getCallInstrCost ( Function F,
Type RetTy,
ArrayRef< Type * >  Tys,
TTI::TargetCostKind  CostKind 
)
pure virtual

◆ getCastInstrCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getCastInstrCost ( unsigned  Opcode,
Type Dst,
Type Src,
CastContextHint  CCH,
TTI::TargetCostKind  CostKind,
const Instruction I 
)
pure virtual

◆ getCFInstrCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getCFInstrCost ( unsigned  Opcode,
TTI::TargetCostKind  CostKind,
const Instruction I = nullptr 
)
pure virtual

◆ getCmpSelInstrCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getCmpSelInstrCost ( unsigned  Opcode,
Type ValTy,
Type CondTy,
CmpInst::Predicate  VecPred,
TTI::TargetCostKind  CostKind,
const Instruction I 
)
pure virtual

◆ getCostOfKeepingLiveOverCall()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getCostOfKeepingLiveOverCall ( ArrayRef< Type * >  Tys)
pure virtual

◆ getDataLayout()

virtual const DataLayout& llvm::TargetTransformInfo::Concept::getDataLayout ( ) const
pure virtual

◆ getEstimatedNumberOfCaseClusters()

virtual unsigned llvm::TargetTransformInfo::Concept::getEstimatedNumberOfCaseClusters ( const SwitchInst SI,
unsigned &  JTSize,
ProfileSummaryInfo PSI,
BlockFrequencyInfo BFI 
)
pure virtual

◆ getExtendedAddReductionCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getExtendedAddReductionCost ( bool  IsMLA,
bool  IsUnsigned,
Type ResTy,
VectorType Ty,
TTI::TargetCostKind  CostKind = TTI::TCK_RecipThroughput 
)
pure virtual

◆ getExtractWithExtendCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getExtractWithExtendCost ( unsigned  Opcode,
Type Dst,
VectorType VecTy,
unsigned  Index 
)
pure virtual

◆ getFlatAddressSpace()

virtual unsigned llvm::TargetTransformInfo::Concept::getFlatAddressSpace ( )
pure virtual

◆ getFPOpCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getFPOpCost ( Type Ty)
pure virtual

◆ getGatherScatterOpCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getGatherScatterOpCost ( unsigned  Opcode,
Type DataTy,
const Value Ptr,
bool  VariableMask,
Align  Alignment,
TTI::TargetCostKind  CostKind,
const Instruction I = nullptr 
)
pure virtual

◆ getGEPCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getGEPCost ( Type PointeeType,
const Value Ptr,
ArrayRef< const Value * >  Operands,
TTI::TargetCostKind  CostKind 
)
pure virtual

◆ getGISelRematGlobalCost()

virtual unsigned llvm::TargetTransformInfo::Concept::getGISelRematGlobalCost ( ) const
pure virtual

◆ getInlinerVectorBonusPercent()

virtual int llvm::TargetTransformInfo::Concept::getInlinerVectorBonusPercent ( )
pure virtual

◆ getInliningThresholdMultiplier()

virtual unsigned llvm::TargetTransformInfo::Concept::getInliningThresholdMultiplier ( )
pure virtual

◆ getInstructionLatency()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getInstructionLatency ( const Instruction I)
pure virtual

◆ getInterleavedMemoryOpCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getInterleavedMemoryOpCost ( unsigned  Opcode,
Type VecTy,
unsigned  Factor,
ArrayRef< unsigned >  Indices,
Align  Alignment,
unsigned  AddressSpace,
TTI::TargetCostKind  CostKind,
bool  UseMaskForCond = false,
bool  UseMaskForGaps = false 
)
pure virtual

◆ getIntImmCodeSizeCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getIntImmCodeSizeCost ( unsigned  Opc,
unsigned  Idx,
const APInt Imm,
Type Ty 
)
pure virtual

◆ getIntImmCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getIntImmCost ( const APInt Imm,
Type Ty,
TargetCostKind  CostKind 
)
pure virtual

◆ getIntImmCostInst()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getIntImmCostInst ( unsigned  Opc,
unsigned  Idx,
const APInt Imm,
Type Ty,
TargetCostKind  CostKind,
Instruction Inst = nullptr 
)
pure virtual

◆ getIntImmCostIntrin()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getIntImmCostIntrin ( Intrinsic::ID  IID,
unsigned  Idx,
const APInt Imm,
Type Ty,
TargetCostKind  CostKind 
)
pure virtual

◆ getIntrinsicInstrCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getIntrinsicInstrCost ( const IntrinsicCostAttributes ICA,
TTI::TargetCostKind  CostKind 
)
pure virtual

◆ getLoadStoreVecRegBitWidth()

virtual unsigned llvm::TargetTransformInfo::Concept::getLoadStoreVecRegBitWidth ( unsigned  AddrSpace) const
pure virtual

◆ getLoadVectorFactor()

virtual unsigned llvm::TargetTransformInfo::Concept::getLoadVectorFactor ( unsigned  VF,
unsigned  LoadSize,
unsigned  ChainSizeInBytes,
VectorType VecTy 
) const
pure virtual

◆ getMaskedMemoryOpCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getMaskedMemoryOpCost ( unsigned  Opcode,
Type Src,
Align  Alignment,
unsigned  AddressSpace,
TTI::TargetCostKind  CostKind 
)
pure virtual

◆ getMaximumVF()

virtual unsigned llvm::TargetTransformInfo::Concept::getMaximumVF ( unsigned  ElemWidth,
unsigned  Opcode 
) const
pure virtual

◆ getMaxInterleaveFactor()

virtual unsigned llvm::TargetTransformInfo::Concept::getMaxInterleaveFactor ( unsigned  VF)
pure virtual

◆ getMaxPrefetchIterationsAhead()

virtual unsigned llvm::TargetTransformInfo::Concept::getMaxPrefetchIterationsAhead ( ) const
pure virtual
Returns
The maximum number of iterations to prefetch ahead. If the required number of iterations is more than this number, no prefetching is performed.

◆ getMaxVScale()

virtual Optional<unsigned> llvm::TargetTransformInfo::Concept::getMaxVScale ( ) const
pure virtual

◆ getMemcpyCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getMemcpyCost ( const Instruction I)
pure virtual

◆ getMemcpyLoopLoweringType()

virtual Type* llvm::TargetTransformInfo::Concept::getMemcpyLoopLoweringType ( LLVMContext Context,
Value Length,
unsigned  SrcAddrSpace,
unsigned  DestAddrSpace,
unsigned  SrcAlign,
unsigned  DestAlign,
Optional< uint32_t AtomicElementSize 
) const
pure virtual

◆ getMemcpyLoopResidualLoweringType()

virtual void llvm::TargetTransformInfo::Concept::getMemcpyLoopResidualLoweringType ( SmallVectorImpl< Type * > &  OpsOut,
LLVMContext Context,
unsigned  RemainingBytes,
unsigned  SrcAddrSpace,
unsigned  DestAddrSpace,
unsigned  SrcAlign,
unsigned  DestAlign,
Optional< uint32_t AtomicCpySize 
) const
pure virtual

◆ getMemoryOpCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getMemoryOpCost ( unsigned  Opcode,
Type Src,
Align  Alignment,
unsigned  AddressSpace,
TTI::TargetCostKind  CostKind,
const Instruction I 
)
pure virtual

◆ getMinimumVF()

virtual ElementCount llvm::TargetTransformInfo::Concept::getMinimumVF ( unsigned  ElemWidth,
bool  IsScalable 
) const
pure virtual

◆ getMinMaxReductionCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getMinMaxReductionCost ( VectorType Ty,
VectorType CondTy,
bool  IsUnsigned,
TTI::TargetCostKind  CostKind 
)
pure virtual

◆ getMinPrefetchStride()

virtual unsigned llvm::TargetTransformInfo::Concept::getMinPrefetchStride ( unsigned  NumMemAccesses,
unsigned  NumStridedMemAccesses,
unsigned  NumPrefetches,
bool  HasCall 
) const
pure virtual
Returns
Some HW prefetchers can handle accesses up to a certain constant stride. This is the minimum stride in bytes where it makes sense to start adding SW prefetches. The default is 1, i.e. prefetch with any stride. Sometimes prefetching is beneficial even below the HW prefetcher limit, and the arguments provided are meant to serve as a basis for deciding this for a particular loop.

◆ getMinVectorRegisterBitWidth()

virtual unsigned llvm::TargetTransformInfo::Concept::getMinVectorRegisterBitWidth ( ) const
pure virtual

◆ getNumberOfParts()

virtual unsigned llvm::TargetTransformInfo::Concept::getNumberOfParts ( Type Tp)
pure virtual

◆ getNumberOfRegisters()

virtual unsigned llvm::TargetTransformInfo::Concept::getNumberOfRegisters ( unsigned  ClassID) const
pure virtual

◆ getOperandsScalarizationOverhead()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getOperandsScalarizationOverhead ( ArrayRef< const Value * >  Args,
ArrayRef< Type * >  Tys 
)
pure virtual

◆ getOrCreateResultFromMemIntrinsic()

virtual Value* llvm::TargetTransformInfo::Concept::getOrCreateResultFromMemIntrinsic ( IntrinsicInst Inst,
Type ExpectedType 
)
pure virtual

◆ getPeelingPreferences()

virtual void llvm::TargetTransformInfo::Concept::getPeelingPreferences ( Loop L,
ScalarEvolution SE,
PeelingPreferences PP 
)
pure virtual

◆ getPopcntSupport()

virtual PopcntSupportKind llvm::TargetTransformInfo::Concept::getPopcntSupport ( unsigned  IntTyWidthInBit)
pure virtual

◆ getPredicatedAddrSpace()

virtual std::pair<const Value *, unsigned> llvm::TargetTransformInfo::Concept::getPredicatedAddrSpace ( const Value V) const
pure virtual

◆ getPredictableBranchThreshold()

virtual BranchProbability llvm::TargetTransformInfo::Concept::getPredictableBranchThreshold ( )
pure virtual

◆ getPreferredAddressingMode()

virtual AddressingModeKind llvm::TargetTransformInfo::Concept::getPreferredAddressingMode ( const Loop L,
ScalarEvolution SE 
) const
pure virtual

◆ getPrefetchDistance()

virtual unsigned llvm::TargetTransformInfo::Concept::getPrefetchDistance ( ) const
pure virtual
Returns
How much before a load we should place the prefetch instruction. This is currently measured in number of instructions.

◆ getRegisterBitWidth()

virtual TypeSize llvm::TargetTransformInfo::Concept::getRegisterBitWidth ( RegisterKind  K) const
pure virtual

◆ getRegisterClassForType()

virtual unsigned llvm::TargetTransformInfo::Concept::getRegisterClassForType ( bool  Vector,
Type Ty = nullptr 
) const
pure virtual

◆ getRegisterClassName()

virtual const char* llvm::TargetTransformInfo::Concept::getRegisterClassName ( unsigned  ClassID) const
pure virtual

◆ getRegUsageForType()

virtual unsigned llvm::TargetTransformInfo::Concept::getRegUsageForType ( Type Ty)
pure virtual

◆ getReplicationShuffleCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getReplicationShuffleCost ( Type EltTy,
int  ReplicationFactor,
int  VF,
const APInt DemandedDstElts,
TTI::TargetCostKind  CostKind 
)
pure virtual

◆ getScalarizationOverhead()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getScalarizationOverhead ( VectorType Ty,
const APInt DemandedElts,
bool  Insert,
bool  Extract 
)
pure virtual

◆ getScalingFactorCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getScalingFactorCost ( Type Ty,
GlobalValue BaseGV,
int64_t  BaseOffset,
bool  HasBaseReg,
int64_t  Scale,
unsigned  AddrSpace 
)
pure virtual

◆ getShuffleCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getShuffleCost ( ShuffleKind  Kind,
VectorType Tp,
ArrayRef< int Mask,
int  Index,
VectorType SubTp,
ArrayRef< const Value * >  Args 
)
pure virtual

◆ getStoreMinimumVF()

virtual unsigned llvm::TargetTransformInfo::Concept::getStoreMinimumVF ( unsigned  VF,
Type ScalarMemTy,
Type ScalarValTy 
) const
pure virtual

◆ getStoreVectorFactor()

virtual unsigned llvm::TargetTransformInfo::Concept::getStoreVectorFactor ( unsigned  VF,
unsigned  StoreSize,
unsigned  ChainSizeInBytes,
VectorType VecTy 
) const
pure virtual

◆ getTgtMemIntrinsic()

virtual bool llvm::TargetTransformInfo::Concept::getTgtMemIntrinsic ( IntrinsicInst Inst,
MemIntrinsicInfo Info 
)
pure virtual

◆ getUnrollingPreferences()

virtual void llvm::TargetTransformInfo::Concept::getUnrollingPreferences ( Loop L,
ScalarEvolution ,
UnrollingPreferences UP,
OptimizationRemarkEmitter ORE 
)
pure virtual

◆ getUserCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getUserCost ( const User U,
ArrayRef< const Value * >  Operands,
TargetCostKind  CostKind 
)
pure virtual

◆ getVectorInstrCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getVectorInstrCost ( unsigned  Opcode,
Type Val,
unsigned  Index 
)
pure virtual

◆ getVPLegalizationStrategy()

virtual VPLegalization llvm::TargetTransformInfo::Concept::getVPLegalizationStrategy ( const VPIntrinsic PI) const
pure virtual

◆ getVPMemoryOpCost()

virtual InstructionCost llvm::TargetTransformInfo::Concept::getVPMemoryOpCost ( unsigned  Opcode,
Type Src,
Align  Alignment,
unsigned  AddressSpace,
TTI::TargetCostKind  CostKind,
const Instruction I 
)
pure virtual

◆ getVScaleForTuning()

virtual Optional<unsigned> llvm::TargetTransformInfo::Concept::getVScaleForTuning ( ) const
pure virtual

◆ hasActiveVectorLength()

virtual bool llvm::TargetTransformInfo::Concept::hasActiveVectorLength ( unsigned  Opcode,
Type DataType,
Align  Alignment 
) const
pure virtual

◆ hasBranchDivergence()

virtual bool llvm::TargetTransformInfo::Concept::hasBranchDivergence ( )
pure virtual

◆ hasDivRemOp()

virtual bool llvm::TargetTransformInfo::Concept::hasDivRemOp ( Type DataType,
bool  IsSigned 
)
pure virtual

◆ hasVolatileVariant()

virtual bool llvm::TargetTransformInfo::Concept::hasVolatileVariant ( Instruction I,
unsigned  AddrSpace 
)
pure virtual

◆ haveFastSqrt()

virtual bool llvm::TargetTransformInfo::Concept::haveFastSqrt ( Type Ty)
pure virtual

◆ instCombineIntrinsic()

virtual Optional<Instruction *> llvm::TargetTransformInfo::Concept::instCombineIntrinsic ( InstCombiner IC,
IntrinsicInst II 
)
pure virtual

◆ isAlwaysUniform()

virtual bool llvm::TargetTransformInfo::Concept::isAlwaysUniform ( const Value V)
pure virtual

◆ isElementTypeLegalForScalableVector()

virtual bool llvm::TargetTransformInfo::Concept::isElementTypeLegalForScalableVector ( Type Ty) const
pure virtual

◆ isFCmpOrdCheaperThanFCmpZero()

virtual bool llvm::TargetTransformInfo::Concept::isFCmpOrdCheaperThanFCmpZero ( Type Ty)
pure virtual

◆ isFPVectorizationPotentiallyUnsafe()

virtual bool llvm::TargetTransformInfo::Concept::isFPVectorizationPotentiallyUnsafe ( )
pure virtual

◆ isHardwareLoopProfitable()

virtual bool llvm::TargetTransformInfo::Concept::isHardwareLoopProfitable ( Loop L,
ScalarEvolution SE,
AssumptionCache AC,
TargetLibraryInfo LibInfo,
HardwareLoopInfo HWLoopInfo 
)
pure virtual

◆ isIndexedLoadLegal()

virtual bool llvm::TargetTransformInfo::Concept::isIndexedLoadLegal ( MemIndexedMode  Mode,
Type Ty 
) const
pure virtual

◆ isIndexedStoreLegal()

virtual bool llvm::TargetTransformInfo::Concept::isIndexedStoreLegal ( MemIndexedMode  Mode,
Type Ty 
) const
pure virtual

◆ isLegalAddImmediate()

virtual bool llvm::TargetTransformInfo::Concept::isLegalAddImmediate ( int64_t  Imm)
pure virtual

◆ isLegalAddressingMode()

virtual bool llvm::TargetTransformInfo::Concept::isLegalAddressingMode ( Type Ty,
GlobalValue BaseGV,
int64_t  BaseOffset,
bool  HasBaseReg,
int64_t  Scale,
unsigned  AddrSpace,
Instruction I 
)
pure virtual

◆ isLegalBroadcastLoad()

virtual bool llvm::TargetTransformInfo::Concept::isLegalBroadcastLoad ( Type ElementTy,
ElementCount  NumElements 
) const
pure virtual

◆ isLegalICmpImmediate()

virtual bool llvm::TargetTransformInfo::Concept::isLegalICmpImmediate ( int64_t  Imm)
pure virtual

◆ isLegalMaskedCompressStore()

virtual bool llvm::TargetTransformInfo::Concept::isLegalMaskedCompressStore ( Type DataType)
pure virtual

◆ isLegalMaskedExpandLoad()

virtual bool llvm::TargetTransformInfo::Concept::isLegalMaskedExpandLoad ( Type DataType)
pure virtual

◆ isLegalMaskedGather()

virtual bool llvm::TargetTransformInfo::Concept::isLegalMaskedGather ( Type DataType,
Align  Alignment 
)
pure virtual

◆ isLegalMaskedLoad()

virtual bool llvm::TargetTransformInfo::Concept::isLegalMaskedLoad ( Type DataType,
Align  Alignment 
)
pure virtual

◆ isLegalMaskedScatter()

virtual bool llvm::TargetTransformInfo::Concept::isLegalMaskedScatter ( Type DataType,
Align  Alignment 
)
pure virtual

◆ isLegalMaskedStore()

virtual bool llvm::TargetTransformInfo::Concept::isLegalMaskedStore ( Type DataType,
Align  Alignment 
)
pure virtual

◆ isLegalNTLoad()

virtual bool llvm::TargetTransformInfo::Concept::isLegalNTLoad ( Type DataType,
Align  Alignment 
)
pure virtual

◆ isLegalNTStore()

virtual bool llvm::TargetTransformInfo::Concept::isLegalNTStore ( Type DataType,
Align  Alignment 
)
pure virtual

◆ isLegalToVectorizeLoad()

virtual bool llvm::TargetTransformInfo::Concept::isLegalToVectorizeLoad ( LoadInst LI) const
pure virtual

◆ isLegalToVectorizeLoadChain()

virtual bool llvm::TargetTransformInfo::Concept::isLegalToVectorizeLoadChain ( unsigned  ChainSizeInBytes,
Align  Alignment,
unsigned  AddrSpace 
) const
pure virtual

◆ isLegalToVectorizeReduction()

virtual bool llvm::TargetTransformInfo::Concept::isLegalToVectorizeReduction ( const RecurrenceDescriptor RdxDesc,
ElementCount  VF 
) const
pure virtual

◆ isLegalToVectorizeStore()

virtual bool llvm::TargetTransformInfo::Concept::isLegalToVectorizeStore ( StoreInst SI) const
pure virtual

◆ isLegalToVectorizeStoreChain()

virtual bool llvm::TargetTransformInfo::Concept::isLegalToVectorizeStoreChain ( unsigned  ChainSizeInBytes,
Align  Alignment,
unsigned  AddrSpace 
) const
pure virtual

◆ isLoweredToCall()

virtual bool llvm::TargetTransformInfo::Concept::isLoweredToCall ( const Function F)
pure virtual

◆ isLSRCostLess()

virtual bool llvm::TargetTransformInfo::Concept::isLSRCostLess ( TargetTransformInfo::LSRCost C1,
TargetTransformInfo::LSRCost C2 
)
pure virtual

◆ isNoopAddrSpaceCast()

virtual bool llvm::TargetTransformInfo::Concept::isNoopAddrSpaceCast ( unsigned  FromAS,
unsigned  ToAS 
) const
pure virtual

◆ isNumRegsMajorCostOfLSR()

virtual bool llvm::TargetTransformInfo::Concept::isNumRegsMajorCostOfLSR ( )
pure virtual

◆ isProfitableLSRChainElement()

virtual bool llvm::TargetTransformInfo::Concept::isProfitableLSRChainElement ( Instruction I)
pure virtual

◆ isProfitableToHoist()

virtual bool llvm::TargetTransformInfo::Concept::isProfitableToHoist ( Instruction I)
pure virtual

◆ isSourceOfDivergence()

virtual bool llvm::TargetTransformInfo::Concept::isSourceOfDivergence ( const Value V)
pure virtual

◆ isTruncateFree()

virtual bool llvm::TargetTransformInfo::Concept::isTruncateFree ( Type Ty1,
Type Ty2 
)
pure virtual

◆ isTypeLegal()

virtual bool llvm::TargetTransformInfo::Concept::isTypeLegal ( Type Ty)
pure virtual

◆ LSRWithInstrQueries()

virtual bool llvm::TargetTransformInfo::Concept::LSRWithInstrQueries ( )
pure virtual

◆ preferInLoopReduction()

virtual bool llvm::TargetTransformInfo::Concept::preferInLoopReduction ( unsigned  Opcode,
Type Ty,
ReductionFlags   
) const
pure virtual

◆ preferPredicatedReductionSelect()

virtual bool llvm::TargetTransformInfo::Concept::preferPredicatedReductionSelect ( unsigned  Opcode,
Type Ty,
ReductionFlags   
) const
pure virtual

◆ preferPredicateOverEpilogue()

virtual bool llvm::TargetTransformInfo::Concept::preferPredicateOverEpilogue ( Loop L,
LoopInfo LI,
ScalarEvolution SE,
AssumptionCache AC,
TargetLibraryInfo TLI,
DominatorTree DT,
const LoopAccessInfo LAI 
)
pure virtual

◆ prefersVectorizedAddressing()

virtual bool llvm::TargetTransformInfo::Concept::prefersVectorizedAddressing ( )
pure virtual

◆ rewriteIntrinsicWithAddressSpace()

virtual Value* llvm::TargetTransformInfo::Concept::rewriteIntrinsicWithAddressSpace ( IntrinsicInst II,
Value OldV,
Value NewV 
) const
pure virtual

◆ shouldBuildLookupTables()

virtual bool llvm::TargetTransformInfo::Concept::shouldBuildLookupTables ( )
pure virtual

◆ shouldBuildLookupTablesForConstant()

virtual bool llvm::TargetTransformInfo::Concept::shouldBuildLookupTablesForConstant ( Constant C)
pure virtual

◆ shouldBuildRelLookupTables()

virtual bool llvm::TargetTransformInfo::Concept::shouldBuildRelLookupTables ( )
pure virtual

◆ shouldConsiderAddressTypePromotion()

virtual bool llvm::TargetTransformInfo::Concept::shouldConsiderAddressTypePromotion ( const Instruction I,
bool &  AllowPromotionWithoutCommonHeader 
)
pure virtual

◆ shouldExpandReduction()

virtual bool llvm::TargetTransformInfo::Concept::shouldExpandReduction ( const IntrinsicInst II) const
pure virtual

◆ shouldMaximizeVectorBandwidth()

virtual bool llvm::TargetTransformInfo::Concept::shouldMaximizeVectorBandwidth ( TargetTransformInfo::RegisterKind  K) const
pure virtual

◆ simplifyDemandedUseBitsIntrinsic()

virtual Optional<Value *> llvm::TargetTransformInfo::Concept::simplifyDemandedUseBitsIntrinsic ( InstCombiner IC,
IntrinsicInst II,
APInt  DemandedMask,
KnownBits Known,
bool &  KnownBitsComputed 
)
pure virtual

◆ simplifyDemandedVectorEltsIntrinsic()

virtual Optional<Value *> llvm::TargetTransformInfo::Concept::simplifyDemandedVectorEltsIntrinsic ( InstCombiner IC,
IntrinsicInst II,
APInt  DemandedElts,
APInt UndefElts,
APInt UndefElts2,
APInt UndefElts3,
std::function< void(Instruction *, unsigned, APInt, APInt &)>  SimplifyAndSetOp 
)
pure virtual

◆ supportsEfficientVectorElementLoadStore()

virtual bool llvm::TargetTransformInfo::Concept::supportsEfficientVectorElementLoadStore ( )
pure virtual

◆ supportsScalableVectors()

virtual bool llvm::TargetTransformInfo::Concept::supportsScalableVectors ( ) const
pure virtual

◆ useAA()

virtual bool llvm::TargetTransformInfo::Concept::useAA ( )
pure virtual

◆ useColdCCForColdCall()

virtual bool llvm::TargetTransformInfo::Concept::useColdCCForColdCall ( Function F)
pure virtual

◆ useGPUDivergenceAnalysis()

virtual bool llvm::TargetTransformInfo::Concept::useGPUDivergenceAnalysis ( )
pure virtual

The documentation for this class was generated from the following files: