class TargetTransformInfoImplBase
Declaration
class TargetTransformInfoImplBase { /* full declaration omitted */ };Description
Base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class.
Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:33
Member Variables
- protected const llvm::DataLayout& DL
Method Overview
- public bool LSRWithInstrQueries() const
- public TargetTransformInfoImplBase(const llvm::TargetTransformInfoImplBase & Arg)
- public TargetTransformInfoImplBase(llvm::TargetTransformInfoImplBase && Arg)
- protected TargetTransformInfoImplBase(const llvm::DataLayout & DL)
- public unsigned int adjustInliningThreshold(const llvm::CallBase * CB) const
- public bool allowsMisalignedMemoryAccesses(llvm::LLVMContext & Context, unsigned int BitWidth, unsigned int AddressSpace, llvm::Align Alignment, bool * Fast) const
- public bool areInlineCompatible(const llvm::Function * Caller, const llvm::Function * Callee) const
- public bool areTypesABICompatible(const llvm::Function * Caller, const llvm::Function * Callee, const ArrayRef<llvm::Type *> & Types) const
- public bool canHaveNonUndefGlobalInitializerInAddressSpace(unsigned int AS) const
- public bool canMacroFuseCmp() const
- public bool canSaveCmp(llvm::Loop * L, llvm::BranchInst ** BI, llvm::ScalarEvolution * SE, llvm::LoopInfo * LI, llvm::DominatorTree * DT, llvm::AssumptionCache * AC, llvm::TargetLibraryInfo * LibInfo) const
- public bool collectFlatAddressOperands(SmallVectorImpl<int> & OpIndexes, Intrinsic::ID IID) const
- public llvm::PredicationStyle emitGetActiveLaneMask() const
- public bool enableAggressiveInterleaving(bool LoopHasReductions) const
- public bool enableInterleavedAccessVectorization() const
- public bool enableMaskedInterleavedAccessVectorization() const
- public TTI::MemCmpExpansionOptions enableMemCmpExpansion(bool OptSize, bool IsZeroCmp) const
- public bool enableOrderedReductions() const
- public bool enableScalableVectorization() const
- public bool enableWritePrefetching() const
- public bool forceScalarizeMaskedGather(llvm::VectorType * DataType, llvm::Align Alignment) const
- public bool forceScalarizeMaskedScatter(llvm::VectorType * DataType, llvm::Align Alignment) const
- public llvm::InstructionCost getAddressComputationCost(llvm::Type * Tp, llvm::ScalarEvolution *, const llvm::SCEV *) const
- public llvm::InstructionCost getArithmeticInstrCost(unsigned int Opcode, llvm::Type * Ty, TTI::TargetCostKind CostKind, TTI::OperandValueKind Opd1Info, TTI::OperandValueKind Opd2Info, TTI::OperandValueProperties Opd1PropInfo, TTI::OperandValueProperties Opd2PropInfo, ArrayRef<const llvm::Value *> Args, const llvm::Instruction * CxtI = nullptr) const
- public llvm::InstructionCost getArithmeticReductionCost(unsigned int, llvm::VectorType *, Optional<llvm::FastMathFlags> FMF, TTI::TargetCostKind) const
- public unsigned int getAssumedAddrSpace(const llvm::Value * V) const
- public unsigned int getAtomicMemIntrinsicMaxElementSize() const
- public llvm::InstructionCost getCFInstrCost(unsigned int Opcode, TTI::TargetCostKind CostKind, const llvm::Instruction * I = nullptr) const
- public llvm::Optional<unsigned int> getCacheAssociativity(TargetTransformInfo::CacheLevel Level) const
- public unsigned int getCacheLineSize() const
- public llvm::Optional<unsigned int> getCacheSize(TargetTransformInfo::CacheLevel Level) const
- public llvm::InstructionCost getCallInstrCost(llvm::Function * F, llvm::Type * RetTy, ArrayRef<llvm::Type *> Tys, TTI::TargetCostKind CostKind) const
- public llvm::InstructionCost getCastInstrCost(unsigned int Opcode, llvm::Type * Dst, llvm::Type * Src, TTI::CastContextHint CCH, TTI::TargetCostKind CostKind, const llvm::Instruction * I) const
- public llvm::InstructionCost getCmpSelInstrCost(unsigned int Opcode, llvm::Type * ValTy, llvm::Type * CondTy, CmpInst::Predicate VecPred, TTI::TargetCostKind CostKind, const llvm::Instruction * I) const
- protected const llvm::SCEVConstant * getConstantStrideStep(llvm::ScalarEvolution * SE, const llvm::SCEV * Ptr) const
- public llvm::InstructionCost getCostOfKeepingLiveOverCall(ArrayRef<llvm::Type *> Tys) const
- public const llvm::DataLayout & getDataLayout() const
- public unsigned int getEstimatedNumberOfCaseClusters(const llvm::SwitchInst & SI, unsigned int & JTSize, llvm::ProfileSummaryInfo * PSI, llvm::BlockFrequencyInfo * BFI) const
- public llvm::InstructionCost getExtendedAddReductionCost(bool IsMLA, bool IsUnsigned, llvm::Type * ResTy, llvm::VectorType * Ty, TTI::TargetCostKind CostKind) const
- public llvm::InstructionCost getExtractWithExtendCost(unsigned int Opcode, llvm::Type * Dst, llvm::VectorType * VecTy, unsigned int Index) const
- public llvm::InstructionCost getFPOpCost(llvm::Type * Ty) const
- public unsigned int getFlatAddressSpace() const
- public llvm::InstructionCost getGEPCost(llvm::Type * PointeeType, const llvm::Value * Ptr, ArrayRef<const llvm::Value *> Operands, TTI::TargetCostKind CostKind) const
- public unsigned int getGISelRematGlobalCost() const
- public llvm::InstructionCost getGatherScatterOpCost(unsigned int Opcode, llvm::Type * DataTy, const llvm::Value * Ptr, bool VariableMask, llvm::Align Alignment, TTI::TargetCostKind CostKind, const llvm::Instruction * I = nullptr) const
- public int getInlinerVectorBonusPercent() const
- public unsigned int getInliningThresholdMultiplier() const
- public llvm::InstructionCost getIntImmCodeSizeCost(unsigned int Opcode, unsigned int Idx, const llvm::APInt & Imm, llvm::Type * Ty) const
- public llvm::InstructionCost getIntImmCost(const llvm::APInt & Imm, llvm::Type * Ty, TTI::TargetCostKind CostKind) const
- public llvm::InstructionCost getIntImmCostInst(unsigned int Opcode, unsigned int Idx, const llvm::APInt & Imm, llvm::Type * Ty, TTI::TargetCostKind CostKind, llvm::Instruction * Inst = nullptr) const
- public llvm::InstructionCost getIntImmCostIntrin(Intrinsic::ID IID, unsigned int Idx, const llvm::APInt & Imm, llvm::Type * Ty, TTI::TargetCostKind CostKind) const
- public unsigned int getInterleavedMemoryOpCost(unsigned int Opcode, llvm::Type * VecTy, unsigned int Factor, ArrayRef<unsigned int> Indices, llvm::Align Alignment, unsigned int AddressSpace, TTI::TargetCostKind CostKind, bool UseMaskForCond, bool UseMaskForGaps) const
- public llvm::InstructionCost getIntrinsicInstrCost(const llvm::IntrinsicCostAttributes & ICA, TTI::TargetCostKind CostKind) const
- public unsigned int getLoadStoreVecRegBitWidth(unsigned int AddrSpace) const
- public unsigned int getLoadVectorFactor(unsigned int VF, unsigned int LoadSize, unsigned int ChainSizeInBytes, llvm::VectorType * VecTy) const
- public llvm::InstructionCost getMaskedMemoryOpCost(unsigned int Opcode, llvm::Type * Src, llvm::Align Alignment, unsigned int AddressSpace, TTI::TargetCostKind CostKind) const
- public unsigned int getMaxInterleaveFactor(unsigned int VF) const
- public unsigned int getMaxPrefetchIterationsAhead() const
- public Optional<unsigned int> getMaxVScale() const
- public unsigned int getMaximumVF(unsigned int ElemWidth, unsigned int Opcode) const
- public llvm::InstructionCost getMemcpyCost(const llvm::Instruction * I) const
- public llvm::Type * getMemcpyLoopLoweringType(llvm::LLVMContext & Context, llvm::Value * Length, unsigned int SrcAddrSpace, unsigned int DestAddrSpace, unsigned int SrcAlign, unsigned int DestAlign, Optional<uint32_t> AtomicElementSize) const
- public void getMemcpyLoopResidualLoweringType(SmallVectorImpl<llvm::Type *> & OpsOut, llvm::LLVMContext & Context, unsigned int RemainingBytes, unsigned int SrcAddrSpace, unsigned int DestAddrSpace, unsigned int SrcAlign, unsigned int DestAlign, Optional<uint32_t> AtomicCpySize) const
- public llvm::InstructionCost getMemoryOpCost(unsigned int Opcode, llvm::Type * Src, llvm::Align Alignment, unsigned int AddressSpace, TTI::TargetCostKind CostKind, const llvm::Instruction * I) const
- public llvm::InstructionCost getMinMaxReductionCost(llvm::VectorType *, llvm::VectorType *, bool, TTI::TargetCostKind) const
- public unsigned int getMinPrefetchStride(unsigned int NumMemAccesses, unsigned int NumStridedMemAccesses, unsigned int NumPrefetches, bool HasCall) const
- public unsigned int getMinTripCountTailFoldingThreshold() const
- public unsigned int getMinVectorRegisterBitWidth() const
- public llvm::ElementCount getMinimumVF(unsigned int ElemWidth, bool IsScalable) const
- public unsigned int getNumberOfParts(llvm::Type * Tp) const
- public unsigned int getNumberOfRegisters(unsigned int ClassID) const
- public llvm::InstructionCost getOperandsScalarizationOverhead(ArrayRef<const llvm::Value *> Args, ArrayRef<llvm::Type *> Tys) const
- public llvm::Value * getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst * Inst, llvm::Type * ExpectedType) const
- public void getPeelingPreferences(llvm::Loop *, llvm::ScalarEvolution &, TTI::PeelingPreferences &) const
- public TTI::PopcntSupportKind getPopcntSupport(unsigned int IntTyWidthInBit) const
- public std::pair<const Value *, unsigned int> getPredicatedAddrSpace(const llvm::Value * V) const
- public llvm::BranchProbability getPredictableBranchThreshold() const
- public TTI::AddressingModeKind getPreferredAddressingMode(const llvm::Loop * L, llvm::ScalarEvolution * SE) const
- public unsigned int getPrefetchDistance() const
- public unsigned int getRegUsageForType(llvm::Type * Ty) const
- public llvm::TypeSize getRegisterBitWidth(TargetTransformInfo::RegisterKind K) const
- public unsigned int getRegisterClassForType(bool Vector, llvm::Type * Ty = nullptr) const
- public const char * getRegisterClassName(unsigned int ClassID) const
- public unsigned int getReplicationShuffleCost(llvm::Type * EltTy, int ReplicationFactor, int VF, const llvm::APInt & DemandedDstElts, TTI::TargetCostKind CostKind)
- public llvm::InstructionCost getScalarizationOverhead(llvm::VectorType * Ty, const llvm::APInt & DemandedElts, bool Insert, bool Extract) const
- public llvm::InstructionCost getScalingFactorCost(llvm::Type * Ty, llvm::GlobalValue * BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned int AddrSpace) const
- public llvm::InstructionCost getShuffleCost(TTI::ShuffleKind Kind, llvm::VectorType * Ty, ArrayRef<int> Mask, int Index, llvm::VectorType * SubTp, ArrayRef<const llvm::Value *> Args = None) const
- public unsigned int getStoreMinimumVF(unsigned int VF, llvm::Type *, llvm::Type *) const
- public unsigned int getStoreVectorFactor(unsigned int VF, unsigned int StoreSize, unsigned int ChainSizeInBytes, llvm::VectorType * VecTy) const
- public bool getTgtMemIntrinsic(llvm::IntrinsicInst * Inst, llvm::MemIntrinsicInfo & Info) const
- public void getUnrollingPreferences(llvm::Loop *, llvm::ScalarEvolution &, TTI::UnrollingPreferences &, llvm::OptimizationRemarkEmitter *) const
- public TargetTransformInfo::VPLegalization getVPLegalizationStrategy(const llvm::VPIntrinsic & PI) const
- public llvm::InstructionCost getVPMemoryOpCost(unsigned int Opcode, llvm::Type * Src, llvm::Align Alignment, unsigned int AddressSpace, TTI::TargetCostKind CostKind, const llvm::Instruction * I) const
- public Optional<unsigned int> getVScaleForTuning() const
- public llvm::InstructionCost getVectorInstrCost(unsigned int Opcode, llvm::Type * Val, unsigned int Index) const
- public bool hasActiveVectorLength(unsigned int Opcode, llvm::Type * DataType, llvm::Align Alignment) const
- public bool hasBranchDivergence() const
- public bool hasDivRemOp(llvm::Type * DataType, bool IsSigned) const
- public bool hasVolatileVariant(llvm::Instruction * I, unsigned int AddrSpace) const
- public bool haveFastSqrt(llvm::Type * Ty) const
- public Optional<llvm::Instruction *> instCombineIntrinsic(llvm::InstCombiner & IC, llvm::IntrinsicInst & II) const
- public bool isAlwaysUniform(const llvm::Value * V) const
- protected bool isConstantStridedAccessLessThan(llvm::ScalarEvolution * SE, const llvm::SCEV * Ptr, int64_t MergeDistance) const
- public bool isElementTypeLegalForScalableVector(llvm::Type * Ty) const
- public bool isFCmpOrdCheaperThanFCmpZero(llvm::Type * Ty) const
- public bool isFPVectorizationPotentiallyUnsafe() const
- public bool isHardwareLoopProfitable(llvm::Loop * L, llvm::ScalarEvolution & SE, llvm::AssumptionCache & AC, llvm::TargetLibraryInfo * LibInfo, llvm::HardwareLoopInfo & HWLoopInfo) const
- public bool isIndexedLoadLegal(TTI::MemIndexedMode Mode, llvm::Type * Ty, const llvm::DataLayout & DL) const
- public bool isIndexedStoreLegal(TTI::MemIndexedMode Mode, llvm::Type * Ty, const llvm::DataLayout & DL) const
- public bool isLSRCostLess(const TTI::LSRCost & C1, const TTI::LSRCost & C2) const
- public bool isLegalAddImmediate(int64_t Imm) const
- public bool isLegalAddressingMode(llvm::Type * Ty, llvm::GlobalValue * BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned int AddrSpace, llvm::Instruction * I = nullptr) const
- public bool isLegalAltInstr(llvm::VectorType * VecTy, unsigned int Opcode0, unsigned int Opcode1, const llvm::SmallBitVector & OpcodeMask) const
- public bool isLegalBroadcastLoad(llvm::Type * ElementTy, llvm::ElementCount NumElements) const
- public bool isLegalICmpImmediate(int64_t Imm) const
- public bool isLegalMaskedCompressStore(llvm::Type * DataType) const
- public bool isLegalMaskedExpandLoad(llvm::Type * DataType) const
- public bool isLegalMaskedGather(llvm::Type * DataType, llvm::Align Alignment) const
- public bool isLegalMaskedLoad(llvm::Type * DataType, llvm::Align Alignment) const
- public bool isLegalMaskedScatter(llvm::Type * DataType, llvm::Align Alignment) const
- public bool isLegalMaskedStore(llvm::Type * DataType, llvm::Align Alignment) const
- public bool isLegalNTLoad(llvm::Type * DataType, llvm::Align Alignment) const
- public bool isLegalNTStore(llvm::Type * DataType, llvm::Align Alignment) const
- public bool isLegalToVectorizeLoad(llvm::LoadInst * LI) const
- public bool isLegalToVectorizeLoadChain(unsigned int ChainSizeInBytes, llvm::Align Alignment, unsigned int AddrSpace) const
- public bool isLegalToVectorizeReduction(const llvm::RecurrenceDescriptor & RdxDesc, llvm::ElementCount VF) const
- public bool isLegalToVectorizeStore(llvm::StoreInst * SI) const
- public bool isLegalToVectorizeStoreChain(unsigned int ChainSizeInBytes, llvm::Align Alignment, unsigned int AddrSpace) const
- public bool isLoweredToCall(const llvm::Function * F) const
- public bool isNoopAddrSpaceCast(unsigned int, unsigned int) const
- public bool isNumRegsMajorCostOfLSR() const
- public bool isProfitableLSRChainElement(llvm::Instruction * I) const
- public bool isProfitableToHoist(llvm::Instruction * I) const
- public bool isSourceOfDivergence(const llvm::Value * V) const
- protected bool isStridedAccess(const llvm::SCEV * Ptr) const
- public bool isTruncateFree(llvm::Type * Ty1, llvm::Type * Ty2) const
- public bool isTypeLegal(llvm::Type * Ty) const
- protected unsigned int minRequiredElementSize(const llvm::Value * Val, bool & isSigned) const
- public bool preferInLoopReduction(unsigned int Opcode, llvm::Type * Ty, TTI::ReductionFlags Flags) const
- public bool preferPredicateOverEpilogue(llvm::Loop * L, llvm::LoopInfo * LI, llvm::ScalarEvolution & SE, llvm::AssumptionCache & AC, llvm::TargetLibraryInfo * TLI, llvm::DominatorTree * DT, llvm::LoopVectorizationLegality * LVL) const
- public bool preferPredicatedReductionSelect(unsigned int Opcode, llvm::Type * Ty, TTI::ReductionFlags Flags) const
- public bool prefersVectorizedAddressing() const
- public llvm::Value * rewriteIntrinsicWithAddressSpace(llvm::IntrinsicInst * II, llvm::Value * OldV, llvm::Value * NewV) const
- public bool shouldBuildLookupTables() const
- public bool shouldBuildLookupTablesForConstant(llvm::Constant * C) const
- public bool shouldBuildRelLookupTables() const
- public bool shouldConsiderAddressTypePromotion(const llvm::Instruction & I, bool & AllowPromotionWithoutCommonHeader) const
- public bool shouldExpandReduction(const llvm::IntrinsicInst * II) const
- public bool shouldMaximizeVectorBandwidth(TargetTransformInfo::RegisterKind K) const
- public Optional<llvm::Value *> simplifyDemandedUseBitsIntrinsic(llvm::InstCombiner & IC, llvm::IntrinsicInst & II, llvm::APInt DemandedMask, llvm::KnownBits & Known, bool & KnownBitsComputed) const
- public Optional<llvm::Value *> simplifyDemandedVectorEltsIntrinsic(llvm::InstCombiner & IC, llvm::IntrinsicInst & II, llvm::APInt DemandedElts, llvm::APInt & UndefElts, llvm::APInt & UndefElts2, llvm::APInt & UndefElts3, std::function<void (Instruction *, unsigned int, APInt, APInt &)> SimplifyAndSetOp) const
- public bool supportsEfficientVectorElementLoadStore() const
- public bool supportsScalableVectors() const
- public bool supportsTailCalls() const
- public bool useAA() const
- public bool useColdCCForColdCall(llvm::Function & F) const
- public bool useGPUDivergenceAnalysis() const
Methods
¶bool LSRWithInstrQueries() const
bool LSRWithInstrQueries() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:310
¶TargetTransformInfoImplBase(
const llvm::TargetTransformInfoImplBase& Arg)
TargetTransformInfoImplBase(
const llvm::TargetTransformInfoImplBase& Arg)Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:43
Parameters
- const llvm::TargetTransformInfoImplBase& Arg
¶TargetTransformInfoImplBase(
llvm::TargetTransformInfoImplBase&& Arg)
TargetTransformInfoImplBase(
llvm::TargetTransformInfoImplBase&& Arg)Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:44
Parameters
¶TargetTransformInfoImplBase(
const llvm::DataLayout& DL)
TargetTransformInfoImplBase(
const llvm::DataLayout& DL)Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:39
Parameters
- const llvm::DataLayout& DL
¶unsigned int adjustInliningThreshold(
const llvm::CallBase* CB) const
unsigned int adjustInliningThreshold(
const llvm::CallBase* CB) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:71
Parameters
- const llvm::CallBase* CB
¶bool allowsMisalignedMemoryAccesses(
llvm::LLVMContext& Context,
unsigned int BitWidth,
unsigned int AddressSpace,
llvm::Align Alignment,
bool* Fast) const
bool allowsMisalignedMemoryAccesses(
llvm::LLVMContext& Context,
unsigned int BitWidth,
unsigned int AddressSpace,
llvm::Align Alignment,
bool* Fast) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:360
Parameters
- llvm::LLVMContext& Context
- unsigned int BitWidth
- unsigned int AddressSpace
- llvm::Align Alignment
- bool* Fast
¶bool areInlineCompatible(
const llvm::Function* Caller,
const llvm::Function* Callee) const
bool areInlineCompatible(
const llvm::Function* Caller,
const llvm::Function* Callee) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:731
Parameters
- const llvm::Function* Caller
- const llvm::Function* Callee
¶bool areTypesABICompatible(
const llvm::Function* Caller,
const llvm::Function* Callee,
const ArrayRef<llvm::Type*>& Types) const
bool areTypesABICompatible(
const llvm::Function* Caller,
const llvm::Function* Callee,
const ArrayRef<llvm::Type*>& Types) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:739
Parameters
- const llvm::Function* Caller
- const llvm::Function* Callee
- const ArrayRef<llvm::Type*>& Types
¶bool canHaveNonUndefGlobalInitializerInAddressSpace(
unsigned int AS) const
bool canHaveNonUndefGlobalInitializerInAddressSpace(
unsigned int AS) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:105
Parameters
- unsigned int AS
¶bool canMacroFuseCmp() const
bool canMacroFuseCmp() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:224
¶bool canSaveCmp(
llvm::Loop* L,
llvm::BranchInst** BI,
llvm::ScalarEvolution* SE,
llvm::LoopInfo* LI,
llvm::DominatorTree* DT,
llvm::AssumptionCache* AC,
llvm::TargetLibraryInfo* LibInfo) const
bool canSaveCmp(
llvm::Loop* L,
llvm::BranchInst** BI,
llvm::ScalarEvolution* SE,
llvm::LoopInfo* LI,
llvm::DominatorTree* DT,
llvm::AssumptionCache* AC,
llvm::TargetLibraryInfo* LibInfo) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:226
Parameters
- llvm::Loop* L
- llvm::BranchInst** BI
- llvm::ScalarEvolution* SE
- llvm::LoopInfo* LI
- llvm::DominatorTree* DT
- llvm::AssumptionCache* AC
- llvm::TargetLibraryInfo* LibInfo
¶bool collectFlatAddressOperands(
SmallVectorImpl<int>& OpIndexes,
Intrinsic::ID IID) const
bool collectFlatAddressOperands(
SmallVectorImpl<int>& OpIndexes,
Intrinsic::ID IID) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:99
Parameters
- SmallVectorImpl<int>& OpIndexes
- Intrinsic::ID IID
¶llvm::PredicationStyle emitGetActiveLaneMask()
const
llvm::PredicationStyle emitGetActiveLaneMask()
constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:170
¶bool enableAggressiveInterleaving(
bool LoopHasReductions) const
bool enableAggressiveInterleaving(
bool LoopHasReductions) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:345
Parameters
- bool LoopHasReductions
¶bool enableInterleavedAccessVectorization() const
bool enableInterleavedAccessVectorization() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:354
¶bool enableMaskedInterleavedAccessVectorization()
const
bool enableMaskedInterleavedAccessVectorization()
constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:356
¶TTI::MemCmpExpansionOptions enableMemCmpExpansion(
bool OptSize,
bool IsZeroCmp) const
TTI::MemCmpExpansionOptions enableMemCmpExpansion(
bool OptSize,
bool IsZeroCmp) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:349
Parameters
- bool OptSize
- bool IsZeroCmp
¶bool enableOrderedReductions() const
bool enableOrderedReductions() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:289
¶bool enableScalableVectorization() const
bool enableScalableVectorization() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:810
¶bool enableWritePrefetching() const
bool enableWritePrefetching() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:477
¶bool forceScalarizeMaskedGather(
llvm::VectorType* DataType,
llvm::Align Alignment) const
bool forceScalarizeMaskedGather(
llvm::VectorType* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:271
Parameters
- llvm::VectorType* DataType
- llvm::Align Alignment
¶bool forceScalarizeMaskedScatter(
llvm::VectorType* DataType,
llvm::Align Alignment) const
bool forceScalarizeMaskedScatter(
llvm::VectorType* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:275
Parameters
- llvm::VectorType* DataType
- llvm::Align Alignment
¶llvm::InstructionCost getAddressComputationCost(
llvm::Type* Tp,
llvm::ScalarEvolution*,
const llvm::SCEV*) const
llvm::InstructionCost getAddressComputationCost(
llvm::Type* Tp,
llvm::ScalarEvolution*,
const llvm::SCEV*) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:667
Parameters
- llvm::Type* Tp
- llvm::ScalarEvolution*
- const llvm::SCEV*
¶llvm::InstructionCost getArithmeticInstrCost(
unsigned int Opcode,
llvm::Type* Ty,
TTI::TargetCostKind CostKind,
TTI::OperandValueKind Opd1Info,
TTI::OperandValueKind Opd2Info,
TTI::OperandValueProperties Opd1PropInfo,
TTI::OperandValueProperties Opd2PropInfo,
ArrayRef<const llvm::Value*> Args,
const llvm::Instruction* CxtI = nullptr) const
llvm::InstructionCost getArithmeticInstrCost(
unsigned int Opcode,
llvm::Type* Ty,
TTI::TargetCostKind CostKind,
TTI::OperandValueKind Opd1Info,
TTI::OperandValueKind Opd2Info,
TTI::OperandValueProperties Opd1PropInfo,
TTI::OperandValueProperties Opd2PropInfo,
ArrayRef<const llvm::Value*> Args,
const llvm::Instruction* CxtI = nullptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:481
Parameters
- unsigned int Opcode
- llvm::Type* Ty
- TTI::TargetCostKind CostKind
- TTI::OperandValueKind Opd1Info
- TTI::OperandValueKind Opd2Info
- TTI::OperandValueProperties Opd1PropInfo
- TTI::OperandValueProperties Opd2PropInfo
- ArrayRef<const llvm::Value*> Args
- const llvm::Instruction* CxtI = nullptr
¶llvm::InstructionCost getArithmeticReductionCost(
unsigned int,
llvm::VectorType*,
Optional<llvm::FastMathFlags> FMF,
TTI::TargetCostKind) const
llvm::InstructionCost getArithmeticReductionCost(
unsigned int,
llvm::VectorType*,
Optional<llvm::FastMathFlags> FMF,
TTI::TargetCostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:672
Parameters
- unsigned int
- llvm::VectorType*
- Optional<llvm::FastMathFlags> FMF
- TTI::TargetCostKind
¶unsigned int getAssumedAddrSpace(
const llvm::Value* V) const
unsigned int getAssumedAddrSpace(
const llvm::Value* V) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:109
Parameters
- const llvm::Value* V
¶unsigned int getAtomicMemIntrinsicMaxElementSize()
const
unsigned int getAtomicMemIntrinsicMaxElementSize()
constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:698
¶llvm::InstructionCost getCFInstrCost(
unsigned int Opcode,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I = nullptr) const
llvm::InstructionCost getCFInstrCost(
unsigned int Opcode,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I = nullptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:555
Parameters
- unsigned int Opcode
- TTI::TargetCostKind CostKind
- const llvm::Instruction* I = nullptr
¶llvm::Optional<unsigned int>
getCacheAssociativity(
TargetTransformInfo::CacheLevel Level) const
llvm::Optional<unsigned int>
getCacheAssociativity(
TargetTransformInfo::CacheLevel Level) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:459
Parameters
- TargetTransformInfo::CacheLevel Level
¶unsigned int getCacheLineSize() const
unsigned int getCacheLineSize() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:445
¶llvm::Optional<unsigned int> getCacheSize(
TargetTransformInfo::CacheLevel Level) const
llvm::Optional<unsigned int> getCacheSize(
TargetTransformInfo::CacheLevel Level) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:448
Parameters
- TargetTransformInfo::CacheLevel Level
¶llvm::InstructionCost getCallInstrCost(
llvm::Function* F,
llvm::Type* RetTy,
ArrayRef<llvm::Type*> Tys,
TTI::TargetCostKind CostKind) const
llvm::InstructionCost getCallInstrCost(
llvm::Function* F,
llvm::Type* RetTy,
ArrayRef<llvm::Type*> Tys,
TTI::TargetCostKind CostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:658
Parameters
- llvm::Function* F
- llvm::Type* RetTy
- ArrayRef<llvm::Type*> Tys
- TTI::TargetCostKind CostKind
¶llvm::InstructionCost getCastInstrCost(
unsigned int Opcode,
llvm::Type* Dst,
llvm::Type* Src,
TTI::CastContextHint CCH,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) const
llvm::InstructionCost getCastInstrCost(
unsigned int Opcode,
llvm::Type* Dst,
llvm::Type* Src,
TTI::CastContextHint CCH,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:511
Parameters
- unsigned int Opcode
- llvm::Type* Dst
- llvm::Type* Src
- TTI::CastContextHint CCH
- TTI::TargetCostKind CostKind
- const llvm::Instruction* I
¶llvm::InstructionCost getCmpSelInstrCost(
unsigned int Opcode,
llvm::Type* ValTy,
llvm::Type* CondTy,
CmpInst::Predicate VecPred,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) const
llvm::InstructionCost getCmpSelInstrCost(
unsigned int Opcode,
llvm::Type* ValTy,
llvm::Type* CondTy,
CmpInst::Predicate VecPred,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:564
Parameters
- unsigned int Opcode
- llvm::Type* ValTy
- llvm::Type* CondTy
- CmpInst::Predicate VecPred
- TTI::TargetCostKind CostKind
- const llvm::Instruction* I
¶const llvm::SCEVConstant* getConstantStrideStep(
llvm::ScalarEvolution* SE,
const llvm::SCEV* Ptr) const
const llvm::SCEVConstant* getConstantStrideStep(
llvm::ScalarEvolution* SE,
const llvm::SCEV* Ptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:885
Parameters
- llvm::ScalarEvolution* SE
- const llvm::SCEV* Ptr
¶llvm::InstructionCost
getCostOfKeepingLiveOverCall(
ArrayRef<llvm::Type*> Tys) const
llvm::InstructionCost
getCostOfKeepingLiveOverCall(
ArrayRef<llvm::Type*> Tys) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:690
Parameters
- ArrayRef<llvm::Type*> Tys
¶const llvm::DataLayout& getDataLayout() const
const llvm::DataLayout& getDataLayout() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:46
¶unsigned int getEstimatedNumberOfCaseClusters(
const llvm::SwitchInst& SI,
unsigned int& JTSize,
llvm::ProfileSummaryInfo* PSI,
llvm::BlockFrequencyInfo* BFI) const
unsigned int getEstimatedNumberOfCaseClusters(
const llvm::SwitchInst& SI,
unsigned int& JTSize,
llvm::ProfileSummaryInfo* PSI,
llvm::BlockFrequencyInfo* BFI) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:60
Parameters
- const llvm::SwitchInst& SI
- unsigned int& JTSize
- llvm::ProfileSummaryInfo* PSI
- llvm::BlockFrequencyInfo* BFI
¶llvm::InstructionCost getExtendedAddReductionCost(
bool IsMLA,
bool IsUnsigned,
llvm::Type* ResTy,
llvm::VectorType* Ty,
TTI::TargetCostKind CostKind) const
llvm::InstructionCost getExtendedAddReductionCost(
bool IsMLA,
bool IsUnsigned,
llvm::Type* ResTy,
llvm::VectorType* Ty,
TTI::TargetCostKind CostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:684
Parameters
- bool IsMLA
- bool IsUnsigned
- llvm::Type* ResTy
- llvm::VectorType* Ty
- TTI::TargetCostKind CostKind
¶llvm::InstructionCost getExtractWithExtendCost(
unsigned int Opcode,
llvm::Type* Dst,
llvm::VectorType* VecTy,
unsigned int Index) const
llvm::InstructionCost getExtractWithExtendCost(
unsigned int Opcode,
llvm::Type* Dst,
llvm::VectorType* VecTy,
unsigned int Index) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:549
Parameters
- unsigned int Opcode
- llvm::Type* Dst
- llvm::VectorType* VecTy
- unsigned int Index
¶llvm::InstructionCost getFPOpCost(
llvm::Type* Ty) const
llvm::InstructionCost getFPOpCost(
llvm::Type* Ty) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:374
Parameters
- llvm::Type* Ty
¶unsigned int getFlatAddressSpace() const
unsigned int getFlatAddressSpace() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:97
¶llvm::InstructionCost getGEPCost(
llvm::Type* PointeeType,
const llvm::Value* Ptr,
ArrayRef<const llvm::Value*> Operands,
TTI::TargetCostKind CostKind) const
llvm::InstructionCost getGEPCost(
llvm::Type* PointeeType,
const llvm::Value* Ptr,
ArrayRef<const llvm::Value*> Operands,
TTI::TargetCostKind CostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:48
Parameters
- llvm::Type* PointeeType
- const llvm::Value* Ptr
- ArrayRef<const llvm::Value*> Operands
- TTI::TargetCostKind CostKind
¶unsigned int getGISelRematGlobalCost() const
unsigned int getGISelRematGlobalCost() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:804
¶llvm::InstructionCost getGatherScatterOpCost(
unsigned int Opcode,
llvm::Type* DataTy,
const llvm::Value* Ptr,
bool VariableMask,
llvm::Align Alignment,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I = nullptr) const
llvm::InstructionCost getGatherScatterOpCost(
unsigned int Opcode,
llvm::Type* DataTy,
const llvm::Value* Ptr,
bool VariableMask,
llvm::Align Alignment,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I = nullptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:602
Parameters
- unsigned int Opcode
- llvm::Type* DataTy
- const llvm::Value* Ptr
- bool VariableMask
- llvm::Align Alignment
- TTI::TargetCostKind CostKind
- const llvm::Instruction* I = nullptr
¶int getInlinerVectorBonusPercent() const
int getInlinerVectorBonusPercent() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:73
¶unsigned int getInliningThresholdMultiplier()
const
unsigned int getInliningThresholdMultiplier()
constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:70
¶llvm::InstructionCost getIntImmCodeSizeCost(
unsigned int Opcode,
unsigned int Idx,
const llvm::APInt& Imm,
llvm::Type* Ty) const
llvm::InstructionCost getIntImmCodeSizeCost(
unsigned int Opcode,
unsigned int Idx,
const llvm::APInt& Imm,
llvm::Type* Ty) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:378
Parameters
- unsigned int Opcode
- unsigned int Idx
- const llvm::APInt& Imm
- llvm::Type* Ty
¶llvm::InstructionCost getIntImmCost(
const llvm::APInt& Imm,
llvm::Type* Ty,
TTI::TargetCostKind CostKind) const
llvm::InstructionCost getIntImmCost(
const llvm::APInt& Imm,
llvm::Type* Ty,
TTI::TargetCostKind CostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:383
Parameters
- const llvm::APInt& Imm
- llvm::Type* Ty
- TTI::TargetCostKind CostKind
¶llvm::InstructionCost getIntImmCostInst(
unsigned int Opcode,
unsigned int Idx,
const llvm::APInt& Imm,
llvm::Type* Ty,
TTI::TargetCostKind CostKind,
llvm::Instruction* Inst = nullptr) const
llvm::InstructionCost getIntImmCostInst(
unsigned int Opcode,
unsigned int Idx,
const llvm::APInt& Imm,
llvm::Type* Ty,
TTI::TargetCostKind CostKind,
llvm::Instruction* Inst = nullptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:388
Parameters
- unsigned int Opcode
- unsigned int Idx
- const llvm::APInt& Imm
- llvm::Type* Ty
- TTI::TargetCostKind CostKind
- llvm::Instruction* Inst = nullptr
¶llvm::InstructionCost getIntImmCostIntrin(
Intrinsic::ID IID,
unsigned int Idx,
const llvm::APInt& Imm,
llvm::Type* Ty,
TTI::TargetCostKind CostKind) const
llvm::InstructionCost getIntImmCostIntrin(
Intrinsic::ID IID,
unsigned int Idx,
const llvm::APInt& Imm,
llvm::Type* Ty,
TTI::TargetCostKind CostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:395
Parameters
- Intrinsic::ID IID
- unsigned int Idx
- const llvm::APInt& Imm
- llvm::Type* Ty
- TTI::TargetCostKind CostKind
¶unsigned int getInterleavedMemoryOpCost(
unsigned int Opcode,
llvm::Type* VecTy,
unsigned int Factor,
ArrayRef<unsigned int> Indices,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind,
bool UseMaskForCond,
bool UseMaskForGaps) const
unsigned int getInterleavedMemoryOpCost(
unsigned int Opcode,
llvm::Type* VecTy,
unsigned int Factor,
ArrayRef<unsigned int> Indices,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind,
bool UseMaskForCond,
bool UseMaskForGaps) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:610
Parameters
- unsigned int Opcode
- llvm::Type* VecTy
- unsigned int Factor
- ArrayRef<unsigned int> Indices
- llvm::Align Alignment
- unsigned int AddressSpace
- TTI::TargetCostKind CostKind
- bool UseMaskForCond
- bool UseMaskForGaps
¶llvm::InstructionCost getIntrinsicInstrCost(
const llvm::IntrinsicCostAttributes& ICA,
TTI::TargetCostKind CostKind) const
llvm::InstructionCost getIntrinsicInstrCost(
const llvm::IntrinsicCostAttributes& ICA,
TTI::TargetCostKind CostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:617
Parameters
- const llvm::IntrinsicCostAttributes& ICA
- TTI::TargetCostKind CostKind
¶unsigned int getLoadStoreVecRegBitWidth(
unsigned int AddrSpace) const
unsigned int getLoadStoreVecRegBitWidth(
unsigned int AddrSpace) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:757
Parameters
- unsigned int AddrSpace
¶unsigned int getLoadVectorFactor(
unsigned int VF,
unsigned int LoadSize,
unsigned int ChainSizeInBytes,
llvm::VectorType* VecTy) const
unsigned int getLoadVectorFactor(
unsigned int VF,
unsigned int LoadSize,
unsigned int ChainSizeInBytes,
llvm::VectorType* VecTy) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:780
Parameters
- unsigned int VF
- unsigned int LoadSize
- unsigned int ChainSizeInBytes
- llvm::VectorType* VecTy
¶llvm::InstructionCost getMaskedMemoryOpCost(
unsigned int Opcode,
llvm::Type* Src,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind) const
llvm::InstructionCost getMaskedMemoryOpCost(
unsigned int Opcode,
llvm::Type* Src,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:596
Parameters
- unsigned int Opcode
- llvm::Type* Src
- llvm::Align Alignment
- unsigned int AddressSpace
- TTI::TargetCostKind CostKind
¶unsigned int getMaxInterleaveFactor(
unsigned int VF) const
unsigned int getMaxInterleaveFactor(
unsigned int VF) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:479
Parameters
- unsigned int VF
¶unsigned int getMaxPrefetchIterationsAhead() const
unsigned int getMaxPrefetchIterationsAhead() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:476
¶Optional<unsigned int> getMaxVScale() const
Optional<unsigned int> getMaxVScale() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:424
¶unsigned int getMaximumVF(
unsigned int ElemWidth,
unsigned int Opcode) const
unsigned int getMaximumVF(
unsigned int ElemWidth,
unsigned int Opcode) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:436
Parameters
- unsigned int ElemWidth
- unsigned int Opcode
¶llvm::InstructionCost getMemcpyCost(
const llvm::Instruction* I) const
llvm::InstructionCost getMemcpyCost(
const llvm::Instruction* I) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:75
Parameters
- const llvm::Instruction* I
¶llvm::Type* getMemcpyLoopLoweringType(
llvm::LLVMContext& Context,
llvm::Value* Length,
unsigned int SrcAddrSpace,
unsigned int DestAddrSpace,
unsigned int SrcAlign,
unsigned int DestAlign,
Optional<uint32_t> AtomicElementSize) const
llvm::Type* getMemcpyLoopLoweringType(
llvm::LLVMContext& Context,
llvm::Value* Length,
unsigned int SrcAddrSpace,
unsigned int DestAddrSpace,
unsigned int SrcAlign,
unsigned int DestAlign,
Optional<uint32_t> AtomicElementSize) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:712
Parameters
- llvm::LLVMContext& Context
- llvm::Value* Length
- unsigned int SrcAddrSpace
- unsigned int DestAddrSpace
- unsigned int SrcAlign
- unsigned int DestAlign
- Optional<uint32_t> AtomicElementSize
¶void getMemcpyLoopResidualLoweringType(
SmallVectorImpl<llvm::Type*>& OpsOut,
llvm::LLVMContext& Context,
unsigned int RemainingBytes,
unsigned int SrcAddrSpace,
unsigned int DestAddrSpace,
unsigned int SrcAlign,
unsigned int DestAlign,
Optional<uint32_t> AtomicCpySize) const
void getMemcpyLoopResidualLoweringType(
SmallVectorImpl<llvm::Type*>& OpsOut,
llvm::LLVMContext& Context,
unsigned int RemainingBytes,
unsigned int SrcAddrSpace,
unsigned int DestAddrSpace,
unsigned int SrcAlign,
unsigned int DestAlign,
Optional<uint32_t> AtomicCpySize) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:720
Parameters
- SmallVectorImpl<llvm::Type*>& OpsOut
- llvm::LLVMContext& Context
- unsigned int RemainingBytes
- unsigned int SrcAddrSpace
- unsigned int DestAddrSpace
- unsigned int SrcAlign
- unsigned int DestAlign
- Optional<uint32_t> AtomicCpySize
¶llvm::InstructionCost getMemoryOpCost(
unsigned int Opcode,
llvm::Type* Src,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) const
llvm::InstructionCost getMemoryOpCost(
unsigned int Opcode,
llvm::Type* Src,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:582
Parameters
- unsigned int Opcode
- llvm::Type* Src
- llvm::Align Alignment
- unsigned int AddressSpace
- TTI::TargetCostKind CostKind
- const llvm::Instruction* I
¶llvm::InstructionCost getMinMaxReductionCost(
llvm::VectorType*,
llvm::VectorType*,
bool,
TTI::TargetCostKind) const
llvm::InstructionCost getMinMaxReductionCost(
llvm::VectorType*,
llvm::VectorType*,
bool,
TTI::TargetCostKind) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:678
Parameters
- llvm::VectorType*
- llvm::VectorType*
- bool
- TTI::TargetCostKind
¶unsigned int getMinPrefetchStride(
unsigned int NumMemAccesses,
unsigned int NumStridedMemAccesses,
unsigned int NumPrefetches,
bool HasCall) const
unsigned int getMinPrefetchStride(
unsigned int NumMemAccesses,
unsigned int NumStridedMemAccesses,
unsigned int NumPrefetches,
bool HasCall) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:471
Parameters
- unsigned int NumMemAccesses
- unsigned int NumStridedMemAccesses
- unsigned int NumPrefetches
- bool HasCall
¶unsigned int getMinTripCountTailFoldingThreshold()
const
unsigned int getMinTripCountTailFoldingThreshold()
constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:806
¶unsigned int getMinVectorRegisterBitWidth() const
unsigned int getMinVectorRegisterBitWidth() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:422
¶llvm::ElementCount getMinimumVF(
unsigned int ElemWidth,
bool IsScalable) const
llvm::ElementCount getMinimumVF(
unsigned int ElemWidth,
bool IsScalable) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:432
Parameters
- unsigned int ElemWidth
- bool IsScalable
¶unsigned int getNumberOfParts(
llvm::Type* Tp) const
unsigned int getNumberOfParts(
llvm::Type* Tp) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:665
Parameters
- llvm::Type* Tp
¶unsigned int getNumberOfRegisters(
unsigned int ClassID) const
unsigned int getNumberOfRegisters(
unsigned int ClassID) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:401
Parameters
- unsigned int ClassID
¶llvm::InstructionCost
getOperandsScalarizationOverhead(
ArrayRef<const llvm::Value*> Args,
ArrayRef<llvm::Type*> Tys) const
llvm::InstructionCost
getOperandsScalarizationOverhead(
ArrayRef<const llvm::Value*> Args,
ArrayRef<llvm::Type*> Tys) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:336
Parameters
¶llvm::Value* getOrCreateResultFromMemIntrinsic(
llvm::IntrinsicInst* Inst,
llvm::Type* ExpectedType) const
llvm::Value* getOrCreateResultFromMemIntrinsic(
llvm::IntrinsicInst* Inst,
llvm::Type* ExpectedType) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:707
Parameters
- llvm::IntrinsicInst* Inst
- llvm::Type* ExpectedType
¶void getPeelingPreferences(
llvm::Loop*,
llvm::ScalarEvolution&,
TTI::PeelingPreferences&) const
void getPeelingPreferences(
llvm::Loop*,
llvm::ScalarEvolution&,
TTI::PeelingPreferences&) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:198
Parameters
¶TTI::PopcntSupportKind getPopcntSupport(
unsigned int IntTyWidthInBit) const
TTI::PopcntSupportKind getPopcntSupport(
unsigned int IntTyWidthInBit) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:366
Parameters
- unsigned int IntTyWidthInBit
¶std::pair<const Value*, unsigned int>
getPredicatedAddrSpace(const llvm::Value* V) const
std::pair<const Value*, unsigned int>
getPredicatedAddrSpace(const llvm::Value* V) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:112
Parameters
- const llvm::Value* V
¶llvm::BranchProbability
getPredictableBranchThreshold() const
llvm::BranchProbability
getPredictableBranchThreshold() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:85
¶TTI::AddressingModeKind
getPreferredAddressingMode(
const llvm::Loop* L,
llvm::ScalarEvolution* SE) const
TTI::AddressingModeKind
getPreferredAddressingMode(
const llvm::Loop* L,
llvm::ScalarEvolution* SE) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:233
Parameters
- const llvm::Loop* L
- llvm::ScalarEvolution* SE
¶unsigned int getPrefetchDistance() const
unsigned int getPrefetchDistance() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:470
¶unsigned int getRegUsageForType(
llvm::Type* Ty) const
unsigned int getRegUsageForType(
llvm::Type* Ty) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:320
Parameters
- llvm::Type* Ty
¶llvm::TypeSize getRegisterBitWidth(
TargetTransformInfo::RegisterKind K) const
llvm::TypeSize getRegisterBitWidth(
TargetTransformInfo::RegisterKind K) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:418
Parameters
- TargetTransformInfo::RegisterKind K
¶unsigned int getRegisterClassForType(
bool Vector,
llvm::Type* Ty = nullptr) const
unsigned int getRegisterClassForType(
bool Vector,
llvm::Type* Ty = nullptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:403
Parameters
- bool Vector
- llvm::Type* Ty = nullptr
¶const char* getRegisterClassName(
unsigned int ClassID) const
const char* getRegisterClassName(
unsigned int ClassID) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:407
Parameters
- unsigned int ClassID
¶unsigned int getReplicationShuffleCost(
llvm::Type* EltTy,
int ReplicationFactor,
int VF,
const llvm::APInt& DemandedDstElts,
TTI::TargetCostKind CostKind)
unsigned int getReplicationShuffleCost(
llvm::Type* EltTy,
int ReplicationFactor,
int VF,
const llvm::APInt& DemandedDstElts,
TTI::TargetCostKind CostKind)Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:576
Parameters
- llvm::Type* EltTy
- int ReplicationFactor
- int VF
- const llvm::APInt& DemandedDstElts
- TTI::TargetCostKind CostKind
¶llvm::InstructionCost getScalarizationOverhead(
llvm::VectorType* Ty,
const llvm::APInt& DemandedElts,
bool Insert,
bool Extract) const
llvm::InstructionCost getScalarizationOverhead(
llvm::VectorType* Ty,
const llvm::APInt& DemandedElts,
bool Insert,
bool Extract) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:330
Parameters
- llvm::VectorType* Ty
- const llvm::APInt& DemandedElts
- bool Insert
- bool Extract
¶llvm::InstructionCost getScalingFactorCost(
llvm::Type* Ty,
llvm::GlobalValue* BaseGV,
int64_t BaseOffset,
bool HasBaseReg,
int64_t Scale,
unsigned int AddrSpace) const
llvm::InstructionCost getScalingFactorCost(
llvm::Type* Ty,
llvm::GlobalValue* BaseGV,
int64_t BaseOffset,
bool HasBaseReg,
int64_t Scale,
unsigned int AddrSpace) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:299
Parameters
- llvm::Type* Ty
- llvm::GlobalValue* BaseGV
- int64_t BaseOffset
- bool HasBaseReg
- int64_t Scale
- unsigned int AddrSpace
¶llvm::InstructionCost getShuffleCost(
TTI::ShuffleKind Kind,
llvm::VectorType* Ty,
ArrayRef<int> Mask,
int Index,
llvm::VectorType* SubTp,
ArrayRef<const llvm::Value*> Args =
None) const
llvm::InstructionCost getShuffleCost(
TTI::ShuffleKind Kind,
llvm::VectorType* Ty,
ArrayRef<int> Mask,
int Index,
llvm::VectorType* SubTp,
ArrayRef<const llvm::Value*> Args =
None) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:504
Parameters
- TTI::ShuffleKind Kind
- llvm::VectorType* Ty
- ArrayRef<int> Mask
- int Index
- llvm::VectorType* SubTp
- ArrayRef<const llvm::Value*> Args = None
¶unsigned int getStoreMinimumVF(unsigned int VF,
llvm::Type*,
llvm::Type*) const
unsigned int getStoreMinimumVF(unsigned int VF,
llvm::Type*,
llvm::Type*) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:437
Parameters
- unsigned int VF
- llvm::Type*
- llvm::Type*
¶unsigned int getStoreVectorFactor(
unsigned int VF,
unsigned int StoreSize,
unsigned int ChainSizeInBytes,
llvm::VectorType* VecTy) const
unsigned int getStoreVectorFactor(
unsigned int VF,
unsigned int StoreSize,
unsigned int ChainSizeInBytes,
llvm::VectorType* VecTy) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:786
Parameters
- unsigned int VF
- unsigned int StoreSize
- unsigned int ChainSizeInBytes
- llvm::VectorType* VecTy
¶bool getTgtMemIntrinsic(
llvm::IntrinsicInst* Inst,
llvm::MemIntrinsicInfo& Info) const
bool getTgtMemIntrinsic(
llvm::IntrinsicInst* Inst,
llvm::MemIntrinsicInfo& Info) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:694
Parameters
- llvm::IntrinsicInst* Inst
- llvm::MemIntrinsicInfo& Info
¶void getUnrollingPreferences(
llvm::Loop*,
llvm::ScalarEvolution&,
TTI::UnrollingPreferences&,
llvm::OptimizationRemarkEmitter*) const
void getUnrollingPreferences(
llvm::Loop*,
llvm::ScalarEvolution&,
TTI::UnrollingPreferences&,
llvm::OptimizationRemarkEmitter*) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:194
Parameters
¶TargetTransformInfo::VPLegalization
getVPLegalizationStrategy(
const llvm::VPIntrinsic& PI) const
TargetTransformInfo::VPLegalization
getVPLegalizationStrategy(
const llvm::VPIntrinsic& PI) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:818
Parameters
- const llvm::VPIntrinsic& PI
¶llvm::InstructionCost getVPMemoryOpCost(
unsigned int Opcode,
llvm::Type* Src,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) const
llvm::InstructionCost getVPMemoryOpCost(
unsigned int Opcode,
llvm::Type* Src,
llvm::Align Alignment,
unsigned int AddressSpace,
TTI::TargetCostKind CostKind,
const llvm::Instruction* I) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:589
Parameters
- unsigned int Opcode
- llvm::Type* Src
- llvm::Align Alignment
- unsigned int AddressSpace
- TTI::TargetCostKind CostKind
- const llvm::Instruction* I
¶Optional<unsigned int> getVScaleForTuning() const
Optional<unsigned int> getVScaleForTuning() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:425
¶llvm::InstructionCost getVectorInstrCost(
unsigned int Opcode,
llvm::Type* Val,
unsigned int Index) const
llvm::InstructionCost getVectorInstrCost(
unsigned int Opcode,
llvm::Type* Val,
unsigned int Index) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:571
Parameters
- unsigned int Opcode
- llvm::Type* Val
- unsigned int Index
¶bool hasActiveVectorLength(
unsigned int Opcode,
llvm::Type* DataType,
llvm::Align Alignment) const
bool hasActiveVectorLength(
unsigned int Opcode,
llvm::Type* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:812
Parameters
- unsigned int Opcode
- llvm::Type* DataType
- llvm::Align Alignment
¶bool hasBranchDivergence() const
bool hasBranchDivergence() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:89
¶bool hasDivRemOp(llvm::Type* DataType,
bool IsSigned) const
bool hasDivRemOp(llvm::Type* DataType,
bool IsSigned) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:291
Parameters
- llvm::Type* DataType
- bool IsSigned
¶bool hasVolatileVariant(
llvm::Instruction* I,
unsigned int AddrSpace) const
bool hasVolatileVariant(
llvm::Instruction* I,
unsigned int AddrSpace) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:293
Parameters
- llvm::Instruction* I
- unsigned int AddrSpace
¶bool haveFastSqrt(llvm::Type* Ty) const
bool haveFastSqrt(llvm::Type* Ty) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:370
Parameters
- llvm::Type* Ty
¶Optional<llvm::Instruction*> instCombineIntrinsic(
llvm::InstCombiner& IC,
llvm::IntrinsicInst& II) const
Optional<llvm::Instruction*> instCombineIntrinsic(
llvm::InstCombiner& IC,
llvm::IntrinsicInst& II) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:174
Parameters
¶bool isAlwaysUniform(const llvm::Value* V) const
bool isAlwaysUniform(const llvm::Value* V) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:95
Parameters
- const llvm::Value* V
¶bool isConstantStridedAccessLessThan(
llvm::ScalarEvolution* SE,
const llvm::SCEV* Ptr,
int64_t MergeDistance) const
bool isConstantStridedAccessLessThan(
llvm::ScalarEvolution* SE,
const llvm::SCEV* Ptr,
int64_t MergeDistance) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:893
Parameters
- llvm::ScalarEvolution* SE
- const llvm::SCEV* Ptr
- int64_t MergeDistance
¶bool isElementTypeLegalForScalableVector(
llvm::Type* Ty) const
bool isElementTypeLegalForScalableVector(
llvm::Type* Ty) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:778
Parameters
- llvm::Type* Ty
¶bool isFCmpOrdCheaperThanFCmpZero(
llvm::Type* Ty) const
bool isFCmpOrdCheaperThanFCmpZero(
llvm::Type* Ty) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:372
Parameters
- llvm::Type* Ty
¶bool isFPVectorizationPotentiallyUnsafe() const
bool isFPVectorizationPotentiallyUnsafe() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:358
¶bool isHardwareLoopProfitable(
llvm::Loop* L,
llvm::ScalarEvolution& SE,
llvm::AssumptionCache& AC,
llvm::TargetLibraryInfo* LibInfo,
llvm::HardwareLoopInfo& HWLoopInfo) const
bool isHardwareLoopProfitable(
llvm::Loop* L,
llvm::ScalarEvolution& SE,
llvm::AssumptionCache& AC,
llvm::TargetLibraryInfo* LibInfo,
llvm::HardwareLoopInfo& HWLoopInfo) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:157
Parameters
- llvm::Loop* L
- llvm::ScalarEvolution& SE
- llvm::AssumptionCache& AC
- llvm::TargetLibraryInfo* LibInfo
- llvm::HardwareLoopInfo& HWLoopInfo
¶bool isIndexedLoadLegal(
TTI::MemIndexedMode Mode,
llvm::Type* Ty,
const llvm::DataLayout& DL) const
bool isIndexedLoadLegal(
TTI::MemIndexedMode Mode,
llvm::Type* Ty,
const llvm::DataLayout& DL) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:747
Parameters
- TTI::MemIndexedMode Mode
- llvm::Type* Ty
- const llvm::DataLayout& DL
¶bool isIndexedStoreLegal(
TTI::MemIndexedMode Mode,
llvm::Type* Ty,
const llvm::DataLayout& DL) const
bool isIndexedStoreLegal(
TTI::MemIndexedMode Mode,
llvm::Type* Ty,
const llvm::DataLayout& DL) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:752
Parameters
- TTI::MemIndexedMode Mode
- llvm::Type* Ty
- const llvm::DataLayout& DL
¶bool isLSRCostLess(const TTI::LSRCost& C1,
const TTI::LSRCost& C2) const
bool isLSRCostLess(const TTI::LSRCost& C1,
const TTI::LSRCost& C2) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:213
Parameters
- const TTI::LSRCost& C1
- const TTI::LSRCost& C2
¶bool isLegalAddImmediate(int64_t Imm) const
bool isLegalAddImmediate(int64_t Imm) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:201
Parameters
- int64_t Imm
¶bool isLegalAddressingMode(
llvm::Type* Ty,
llvm::GlobalValue* BaseGV,
int64_t BaseOffset,
bool HasBaseReg,
int64_t Scale,
unsigned int AddrSpace,
llvm::Instruction* I = nullptr) const
bool isLegalAddressingMode(
llvm::Type* Ty,
llvm::GlobalValue* BaseGV,
int64_t BaseOffset,
bool HasBaseReg,
int64_t Scale,
unsigned int AddrSpace,
llvm::Instruction* I = nullptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:205
Parameters
- llvm::Type* Ty
- llvm::GlobalValue* BaseGV
- int64_t BaseOffset
- bool HasBaseReg
- int64_t Scale
- unsigned int AddrSpace
- llvm::Instruction* I = nullptr
¶bool isLegalAltInstr(
llvm::VectorType* VecTy,
unsigned int Opcode0,
unsigned int Opcode1,
const llvm::SmallBitVector& OpcodeMask) const
bool isLegalAltInstr(
llvm::VectorType* VecTy,
unsigned int Opcode0,
unsigned int Opcode1,
const llvm::SmallBitVector& OpcodeMask) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:282
Parameters
- llvm::VectorType* VecTy
- unsigned int Opcode0
- unsigned int Opcode1
- const llvm::SmallBitVector& OpcodeMask
¶bool isLegalBroadcastLoad(
llvm::Type* ElementTy,
llvm::ElementCount NumElements) const
bool isLegalBroadcastLoad(
llvm::Type* ElementTy,
llvm::ElementCount NumElements) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:259
Parameters
- llvm::Type* ElementTy
- llvm::ElementCount NumElements
¶bool isLegalICmpImmediate(int64_t Imm) const
bool isLegalICmpImmediate(int64_t Imm) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:203
Parameters
- int64_t Imm
¶bool isLegalMaskedCompressStore(
llvm::Type* DataType) const
bool isLegalMaskedCompressStore(
llvm::Type* DataType) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:280
Parameters
- llvm::Type* DataType
¶bool isLegalMaskedExpandLoad(
llvm::Type* DataType) const
bool isLegalMaskedExpandLoad(
llvm::Type* DataType) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:287
Parameters
- llvm::Type* DataType
¶bool isLegalMaskedGather(
llvm::Type* DataType,
llvm::Align Alignment) const
bool isLegalMaskedGather(
llvm::Type* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:267
Parameters
- llvm::Type* DataType
- llvm::Align Alignment
¶bool isLegalMaskedLoad(
llvm::Type* DataType,
llvm::Align Alignment) const
bool isLegalMaskedLoad(
llvm::Type* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:241
Parameters
- llvm::Type* DataType
- llvm::Align Alignment
¶bool isLegalMaskedScatter(
llvm::Type* DataType,
llvm::Align Alignment) const
bool isLegalMaskedScatter(
llvm::Type* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:263
Parameters
- llvm::Type* DataType
- llvm::Align Alignment
¶bool isLegalMaskedStore(
llvm::Type* DataType,
llvm::Align Alignment) const
bool isLegalMaskedStore(
llvm::Type* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:237
Parameters
- llvm::Type* DataType
- llvm::Align Alignment
¶bool isLegalNTLoad(llvm::Type* DataType,
llvm::Align Alignment) const
bool isLegalNTLoad(llvm::Type* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:252
Parameters
- llvm::Type* DataType
- llvm::Align Alignment
¶bool isLegalNTStore(llvm::Type* DataType,
llvm::Align Alignment) const
bool isLegalNTStore(llvm::Type* DataType,
llvm::Align Alignment) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:245
Parameters
- llvm::Type* DataType
- llvm::Align Alignment
¶bool isLegalToVectorizeLoad(
llvm::LoadInst* LI) const
bool isLegalToVectorizeLoad(
llvm::LoadInst* LI) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:759
Parameters
- llvm::LoadInst* LI
¶bool isLegalToVectorizeLoadChain(
unsigned int ChainSizeInBytes,
llvm::Align Alignment,
unsigned int AddrSpace) const
bool isLegalToVectorizeLoadChain(
unsigned int ChainSizeInBytes,
llvm::Align Alignment,
unsigned int AddrSpace) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:763
Parameters
- unsigned int ChainSizeInBytes
- llvm::Align Alignment
- unsigned int AddrSpace
¶bool isLegalToVectorizeReduction(
const llvm::RecurrenceDescriptor& RdxDesc,
llvm::ElementCount VF) const
bool isLegalToVectorizeReduction(
const llvm::RecurrenceDescriptor& RdxDesc,
llvm::ElementCount VF) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:773
Parameters
- const llvm::RecurrenceDescriptor& RdxDesc
- llvm::ElementCount VF
¶bool isLegalToVectorizeStore(
llvm::StoreInst* SI) const
bool isLegalToVectorizeStore(
llvm::StoreInst* SI) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:761
Parameters
- llvm::StoreInst* SI
¶bool isLegalToVectorizeStoreChain(
unsigned int ChainSizeInBytes,
llvm::Align Alignment,
unsigned int AddrSpace) const
bool isLegalToVectorizeStoreChain(
unsigned int ChainSizeInBytes,
llvm::Align Alignment,
unsigned int AddrSpace) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:768
Parameters
- unsigned int ChainSizeInBytes
- llvm::Align Alignment
- unsigned int AddrSpace
¶bool isLoweredToCall(
const llvm::Function* F) const
bool isLoweredToCall(
const llvm::Function* F) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:121
Parameters
- const llvm::Function* F
¶bool isNoopAddrSpaceCast(unsigned int,
unsigned int) const
bool isNoopAddrSpaceCast(unsigned int,
unsigned int) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:104
Parameters
- unsigned int
- unsigned int
¶bool isNumRegsMajorCostOfLSR() const
bool isNumRegsMajorCostOfLSR() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:220
¶bool isProfitableLSRChainElement(
llvm::Instruction* I) const
bool isProfitableLSRChainElement(
llvm::Instruction* I) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:222
Parameters
¶bool isProfitableToHoist(
llvm::Instruction* I) const
bool isProfitableToHoist(
llvm::Instruction* I) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:314
Parameters
¶bool isSourceOfDivergence(
const llvm::Value* V) const
bool isSourceOfDivergence(
const llvm::Value* V) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:93
Parameters
- const llvm::Value* V
¶bool isStridedAccess(const llvm::SCEV* Ptr) const
bool isStridedAccess(const llvm::SCEV* Ptr) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:881
Parameters
- const llvm::SCEV* Ptr
¶bool isTruncateFree(llvm::Type* Ty1,
llvm::Type* Ty2) const
bool isTruncateFree(llvm::Type* Ty1,
llvm::Type* Ty2) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:312
Parameters
- llvm::Type* Ty1
- llvm::Type* Ty2
¶bool isTypeLegal(llvm::Type* Ty) const
bool isTypeLegal(llvm::Type* Ty) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:318
Parameters
- llvm::Type* Ty
¶unsigned int minRequiredElementSize(
const llvm::Value* Val,
bool& isSigned) const
unsigned int minRequiredElementSize(
const llvm::Value* Val,
bool& isSigned) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:827
Parameters
- const llvm::Value* Val
- bool& isSigned
¶bool preferInLoopReduction(
unsigned int Opcode,
llvm::Type* Ty,
TTI::ReductionFlags Flags) const
bool preferInLoopReduction(
unsigned int Opcode,
llvm::Type* Ty,
TTI::ReductionFlags Flags) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:792
Parameters
- unsigned int Opcode
- llvm::Type* Ty
- TTI::ReductionFlags Flags
¶bool preferPredicateOverEpilogue(
llvm::Loop* L,
llvm::LoopInfo* LI,
llvm::ScalarEvolution& SE,
llvm::AssumptionCache& AC,
llvm::TargetLibraryInfo* TLI,
llvm::DominatorTree* DT,
llvm::LoopVectorizationLegality* LVL) const
bool preferPredicateOverEpilogue(
llvm::Loop* L,
llvm::LoopInfo* LI,
llvm::ScalarEvolution& SE,
llvm::AssumptionCache& AC,
llvm::TargetLibraryInfo* TLI,
llvm::DominatorTree* DT,
llvm::LoopVectorizationLegality* LVL) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:163
Parameters
- llvm::Loop* L
- llvm::LoopInfo* LI
- llvm::ScalarEvolution& SE
- llvm::AssumptionCache& AC
- llvm::TargetLibraryInfo* TLI
- llvm::DominatorTree* DT
- llvm::LoopVectorizationLegality* LVL
¶bool preferPredicatedReductionSelect(
unsigned int Opcode,
llvm::Type* Ty,
TTI::ReductionFlags Flags) const
bool preferPredicatedReductionSelect(
unsigned int Opcode,
llvm::Type* Ty,
TTI::ReductionFlags Flags) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:797
Parameters
- unsigned int Opcode
- llvm::Type* Ty
- TTI::ReductionFlags Flags
¶bool prefersVectorizedAddressing() const
bool prefersVectorizedAddressing() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:297
¶llvm::Value* rewriteIntrinsicWithAddressSpace(
llvm::IntrinsicInst* II,
llvm::Value* OldV,
llvm::Value* NewV) const
llvm::Value* rewriteIntrinsicWithAddressSpace(
llvm::IntrinsicInst* II,
llvm::Value* OldV,
llvm::Value* NewV) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:116
Parameters
- llvm::IntrinsicInst* II
- llvm::Value* OldV
- llvm::Value* NewV
¶bool shouldBuildLookupTables() const
bool shouldBuildLookupTables() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:322
¶bool shouldBuildLookupTablesForConstant(
llvm::Constant* C) const
bool shouldBuildLookupTablesForConstant(
llvm::Constant* C) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:324
Parameters
¶bool shouldBuildRelLookupTables() const
bool shouldBuildRelLookupTables() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:326
¶bool shouldConsiderAddressTypePromotion(
const llvm::Instruction& I,
bool& AllowPromotionWithoutCommonHeader) const
bool shouldConsiderAddressTypePromotion(
const llvm::Instruction& I,
bool& AllowPromotionWithoutCommonHeader) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:439
Parameters
- const llvm::Instruction& I
- bool& AllowPromotionWithoutCommonHeader
¶bool shouldExpandReduction(
const llvm::IntrinsicInst* II) const
bool shouldExpandReduction(
const llvm::IntrinsicInst* II) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:802
Parameters
- const llvm::IntrinsicInst* II
¶bool shouldMaximizeVectorBandwidth(
TargetTransformInfo::RegisterKind K) const
bool shouldMaximizeVectorBandwidth(
TargetTransformInfo::RegisterKind K) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:428
Parameters
- TargetTransformInfo::RegisterKind K
¶Optional<llvm::Value*>
simplifyDemandedUseBitsIntrinsic(
llvm::InstCombiner& IC,
llvm::IntrinsicInst& II,
llvm::APInt DemandedMask,
llvm::KnownBits& Known,
bool& KnownBitsComputed) const
Optional<llvm::Value*>
simplifyDemandedUseBitsIntrinsic(
llvm::InstCombiner& IC,
llvm::IntrinsicInst& II,
llvm::APInt DemandedMask,
llvm::KnownBits& Known,
bool& KnownBitsComputed) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:180
Parameters
- llvm::InstCombiner& IC
- llvm::IntrinsicInst& II
- llvm::APInt DemandedMask
- llvm::KnownBits& Known
- bool& KnownBitsComputed
¶Optional<llvm::Value*>
simplifyDemandedVectorEltsIntrinsic(
llvm::InstCombiner& IC,
llvm::IntrinsicInst& II,
llvm::APInt DemandedElts,
llvm::APInt& UndefElts,
llvm::APInt& UndefElts2,
llvm::APInt& UndefElts3,
std::function<void(Instruction*,
unsigned int,
APInt,
APInt&)> SimplifyAndSetOp)
const
Optional<llvm::Value*>
simplifyDemandedVectorEltsIntrinsic(
llvm::InstCombiner& IC,
llvm::IntrinsicInst& II,
llvm::APInt DemandedElts,
llvm::APInt& UndefElts,
llvm::APInt& UndefElts2,
llvm::APInt& UndefElts3,
std::function<void(Instruction*,
unsigned int,
APInt,
APInt&)> SimplifyAndSetOp)
constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:186
Parameters
- llvm::InstCombiner& IC
- llvm::IntrinsicInst& II
- llvm::APInt DemandedElts
- llvm::APInt& UndefElts
- llvm::APInt& UndefElts2
- llvm::APInt& UndefElts3
- std::function<void(Instruction*, unsigned int, APInt, APInt&)> SimplifyAndSetOp
¶bool supportsEfficientVectorElementLoadStore()
const
bool supportsEfficientVectorElementLoadStore()
constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:341
¶bool supportsScalableVectors() const
bool supportsScalableVectors() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:808
¶bool supportsTailCalls() const
bool supportsTailCalls() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:343
¶bool useAA() const
bool useAA() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:316
¶bool useColdCCForColdCall(llvm::Function& F) const
bool useColdCCForColdCall(llvm::Function& F) constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:328
Parameters
¶bool useGPUDivergenceAnalysis() const
bool useGPUDivergenceAnalysis() constDeclared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:91