LLVM 20.0.0git
|
This is the complete list of members for llvm::TargetTransformInfo::Concept, including all inherited members.
addrspacesMayAlias(unsigned AS0, unsigned AS1) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
adjustInliningThreshold(const CallBase *CB)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
allowsMisalignedMemoryAccesses(LLVMContext &Context, unsigned BitWidth, unsigned AddressSpace, Align Alignment, unsigned *Fast)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
areInlineCompatible(const Function *Caller, const Function *Callee) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
areTypesABICompatible(const Function *Caller, const Function *Callee, const ArrayRef< Type * > &Types) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
canHaveNonUndefGlobalInitializerInAddressSpace(unsigned AS) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
canMacroFuseCmp()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
canSaveCmp(Loop *L, BranchInst **BI, ScalarEvolution *SE, LoopInfo *LI, DominatorTree *DT, AssumptionCache *AC, TargetLibraryInfo *LibInfo)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
collectFlatAddressOperands(SmallVectorImpl< int > &OpIndexes, Intrinsic::ID IID) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableAggressiveInterleaving(bool LoopHasReductions)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableInterleavedAccessVectorization()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableMaskedInterleavedAccessVectorization()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableMemCmpExpansion(bool OptSize, bool IsZeroCmp) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableOrderedReductions()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableScalableVectorization() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableSelectOptimize()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableWritePrefetching() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
forceScalarizeMaskedGather(VectorType *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
forceScalarizeMaskedScatter(VectorType *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getAddressComputationCost(Type *Ty, ScalarEvolution *SE, const SCEV *Ptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getAltInstrCost(VectorType *VecTy, unsigned Opcode0, unsigned Opcode1, const SmallBitVector &OpcodeMask, TTI::TargetCostKind CostKind=TTI::TCK_RecipThroughput) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getArithmeticInstrCost(unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind, OperandValueInfo Opd1Info, OperandValueInfo Opd2Info, ArrayRef< const Value * > Args, const Instruction *CxtI=nullptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getArithmeticReductionCost(unsigned Opcode, VectorType *Ty, std::optional< FastMathFlags > FMF, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getAssumedAddrSpace(const Value *V) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getAtomicMemIntrinsicMaxElementSize() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getBranchMispredictPenalty()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCacheAssociativity(CacheLevel Level) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCacheLineSize() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCacheSize(CacheLevel Level) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCallerAllocaCost(const CallBase *CB, const AllocaInst *AI) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCallInstrCost(Function *F, Type *RetTy, ArrayRef< Type * > Tys, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src, CastContextHint CCH, TTI::TargetCostKind CostKind, const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCFInstrCost(unsigned Opcode, TTI::TargetCostKind CostKind, const Instruction *I=nullptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCmpSelInstrCost(unsigned Opcode, Type *ValTy, Type *CondTy, CmpInst::Predicate VecPred, TTI::TargetCostKind CostKind, OperandValueInfo Op1Info, OperandValueInfo Op2Info, const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCostOfKeepingLiveOverCall(ArrayRef< Type * > Tys)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getDataLayout() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getEpilogueVectorizationMinVF()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getEstimatedNumberOfCaseClusters(const SwitchInst &SI, unsigned &JTSize, ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getExtendedReductionCost(unsigned Opcode, bool IsUnsigned, Type *ResTy, VectorType *Ty, FastMathFlags FMF, TTI::TargetCostKind CostKind=TTI::TCK_RecipThroughput)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getExtractWithExtendCost(unsigned Opcode, Type *Dst, VectorType *VecTy, unsigned Index)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getFlatAddressSpace()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getFPOpCost(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getGatherScatterOpCost(unsigned Opcode, Type *DataTy, const Value *Ptr, bool VariableMask, Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I=nullptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getGEPCost(Type *PointeeType, const Value *Ptr, ArrayRef< const Value * > Operands, Type *AccessType, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getGISelRematGlobalCost() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInlineCallPenalty(const Function *F, const CallBase &Call, unsigned DefaultCallPenalty) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInlinerVectorBonusPercent() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInliningCostBenefitAnalysisProfitableMultiplier() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInliningCostBenefitAnalysisSavingsMultiplier() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInliningLastCallToStaticBonus() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInliningThresholdMultiplier() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInstructionCost(const User *U, ArrayRef< const Value * > Operands, TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef< unsigned > Indices, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, bool UseMaskForCond=false, bool UseMaskForGaps=false)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCodeSizeCost(unsigned Opc, unsigned Idx, const APInt &Imm, Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCost(const APInt &Imm, Type *Ty, TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCostInst(unsigned Opc, unsigned Idx, const APInt &Imm, Type *Ty, TargetCostKind CostKind, Instruction *Inst=nullptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCostIntrin(Intrinsic::ID IID, unsigned Idx, const APInt &Imm, Type *Ty, TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getLoadStoreVecRegBitWidth(unsigned AddrSpace) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getLoadVectorFactor(unsigned VF, unsigned LoadSize, unsigned ChainSizeInBytes, VectorType *VecTy) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaskedMemoryOpCost(unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaximumVF(unsigned ElemWidth, unsigned Opcode) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaxInterleaveFactor(ElementCount VF)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaxMemIntrinsicInlineSizeThreshold() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaxNumArgs() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaxPrefetchIterationsAhead() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaxVScale() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMemcpyCost(const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMemcpyLoopLoweringType(LLVMContext &Context, Value *Length, unsigned SrcAddrSpace, unsigned DestAddrSpace, Align SrcAlign, Align DestAlign, std::optional< uint32_t > AtomicElementSize) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMemcpyLoopResidualLoweringType(SmallVectorImpl< Type * > &OpsOut, LLVMContext &Context, unsigned RemainingBytes, unsigned SrcAddrSpace, unsigned DestAddrSpace, Align SrcAlign, Align DestAlign, std::optional< uint32_t > AtomicCpySize) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMemoryOpCost(unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, OperandValueInfo OpInfo, const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinimumVF(unsigned ElemWidth, bool IsScalable) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinPageSize() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinPrefetchStride(unsigned NumMemAccesses, unsigned NumStridedMemAccesses, unsigned NumPrefetches, bool HasCall) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinTripCountTailFoldingThreshold() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinVectorRegisterBitWidth() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMulAccReductionCost(bool IsUnsigned, Type *ResTy, VectorType *Ty, TTI::TargetCostKind CostKind=TTI::TCK_RecipThroughput)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getNumberOfParts(Type *Tp)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getNumberOfRegisters(unsigned ClassID) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getNumBytesToPadGlobalArray(unsigned Size, Type *ArrayType) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getOperandsScalarizationOverhead(ArrayRef< const Value * > Args, ArrayRef< Type * > Tys, TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst, Type *ExpectedType)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPeelingPreferences(Loop *L, ScalarEvolution &SE, PeelingPreferences &PP)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPointersChainCost(ArrayRef< const Value * > Ptrs, const Value *Base, const TTI::PointersChainInfo &Info, Type *AccessTy, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPopcntSupport(unsigned IntTyWidthInBit)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPredicatedAddrSpace(const Value *V) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPredictableBranchThreshold()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPreferredAddressingMode(const Loop *L, ScalarEvolution *SE) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPreferredExpandedReductionShuffle(const IntrinsicInst *II) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPreferredTailFoldingStyle(bool IVUpdateMayOverflow=true)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPrefetchDistance() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getRegisterBitWidth(RegisterKind K) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getRegisterClassForType(bool Vector, Type *Ty=nullptr) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getRegisterClassName(unsigned ClassID) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getRegUsageForType(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getReplicationShuffleCost(Type *EltTy, int ReplicationFactor, int VF, const APInt &DemandedDstElts, TTI::TargetCostKind CostKind)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getScalarizationOverhead(VectorType *Ty, const APInt &DemandedElts, bool Insert, bool Extract, TargetCostKind CostKind, ArrayRef< Value * > VL={})=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, StackOffset BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getShuffleCost(ShuffleKind Kind, VectorType *Tp, ArrayRef< int > Mask, TTI::TargetCostKind CostKind, int Index, VectorType *SubTp, ArrayRef< const Value * > Args, const Instruction *CxtI)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getStoreMinimumVF(unsigned VF, Type *ScalarMemTy, Type *ScalarValTy) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getStoreVectorFactor(unsigned VF, unsigned StoreSize, unsigned ChainSizeInBytes, VectorType *VecTy) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getStridedMemoryOpCost(unsigned Opcode, Type *DataTy, const Value *Ptr, bool VariableMask, Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I=nullptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getTgtMemIntrinsic(IntrinsicInst *Inst, MemIntrinsicInfo &Info)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getUnrollingPreferences(Loop *L, ScalarEvolution &, UnrollingPreferences &UP, OptimizationRemarkEmitter *ORE)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, unsigned Index, Value *Op0, Value *Op1)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, unsigned Index, Value *Scalar, ArrayRef< std::tuple< Value *, User *, int > > ScalarUserAndIdx)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getVectorInstrCost(const Instruction &I, Type *Val, TTI::TargetCostKind CostKind, unsigned Index)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getVPLegalizationStrategy(const VPIntrinsic &PI) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getVPMemoryOpCost(unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getVScaleForTuning() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasActiveVectorLength(unsigned Opcode, Type *DataType, Align Alignment) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasArmWideBranch(bool Thumb) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasBranchDivergence(const Function *F=nullptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasConditionalLoadStoreForType(Type *Ty=nullptr) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasDivRemOp(Type *DataType, bool IsSigned)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasVolatileVariant(Instruction *I, unsigned AddrSpace)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
haveFastSqrt(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
instCombineIntrinsic(InstCombiner &IC, IntrinsicInst &II)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isAlwaysUniform(const Value *V)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isElementTypeLegalForScalableVector(Type *Ty) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isExpensiveToSpeculativelyExecute(const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isFCmpOrdCheaperThanFCmpZero(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isFPVectorizationPotentiallyUnsafe()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *LibInfo, HardwareLoopInfo &HWLoopInfo)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isIndexedLoadLegal(MemIndexedMode Mode, Type *Ty) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isIndexedStoreLegal(MemIndexedMode Mode, Type *Ty) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalAddImmediate(int64_t Imm)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace, Instruction *I, int64_t ScalableOffset)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalAddScalableImmediate(int64_t Imm)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalAltInstr(VectorType *VecTy, unsigned Opcode0, unsigned Opcode1, const SmallBitVector &OpcodeMask) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalBroadcastLoad(Type *ElementTy, ElementCount NumElements) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalICmpImmediate(int64_t Imm)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalInterleavedAccessType(VectorType *VTy, unsigned Factor, Align Alignment, unsigned AddrSpace)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedCompressStore(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedExpandLoad(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedGather(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedLoad(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedScatter(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedStore(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedVectorHistogram(Type *AddrType, Type *DataType)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalNTLoad(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalNTStore(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalStridedLoadStore(Type *DataType, Align Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeLoad(LoadInst *LI) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeLoadChain(unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, ElementCount VF) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeStore(StoreInst *SI) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeStoreChain(unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLoweredToCall(const Function *F)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLSRCostLess(const TargetTransformInfo::LSRCost &C1, const TargetTransformInfo::LSRCost &C2)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isNoopAddrSpaceCast(unsigned FromAS, unsigned ToAS) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isNumRegsMajorCostOfLSR()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isProfitableLSRChainElement(Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isProfitableToHoist(Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isProfitableToSinkOperands(Instruction *I, SmallVectorImpl< Use * > &OpsToSink) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isSingleThreaded() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isSourceOfDivergence(const Value *V)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTargetIntrinsicTriviallyScalarizable(Intrinsic::ID ID)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTargetIntrinsicWithOverloadTypeAtArg(Intrinsic::ID ID, int OpdIdx)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTargetIntrinsicWithScalarOpAtArg(Intrinsic::ID ID, unsigned ScalarOpdIdx)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTargetIntrinsicWithStructReturnOverloadAtField(Intrinsic::ID ID, int RetIdx)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTruncateFree(Type *Ty1, Type *Ty2)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTypeLegal(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isValidAddrSpaceCast(unsigned FromAS, unsigned ToAS) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isVectorShiftByScalarCheap(Type *Ty) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isVScaleKnownToBeAPowerOfTwo() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
LSRWithInstrQueries()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
preferEpilogueVectorization() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
preferFixedOverScalableIfEqualCost() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
preferInLoopReduction(unsigned Opcode, Type *Ty, ReductionFlags) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
preferPredicatedReductionSelect(unsigned Opcode, Type *Ty, ReductionFlags) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
preferPredicateOverEpilogue(TailFoldingInfo *TFI)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
prefersVectorizedAddressing()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
preferToKeepConstantsAttached(const Instruction &Inst, const Function &Fn) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
rewriteIntrinsicWithAddressSpace(IntrinsicInst *II, Value *OldV, Value *NewV) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldBuildLookupTables()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldBuildLookupTablesForConstant(Constant *C)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldBuildRelLookupTables()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldConsiderAddressTypePromotion(const Instruction &I, bool &AllowPromotionWithoutCommonHeader)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldDropLSRSolutionIfLessProfitable() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldExpandReduction(const IntrinsicInst *II) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldMaximizeVectorBandwidth(TargetTransformInfo::RegisterKind K) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldPrefetchAddressSpace(unsigned AS) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldTreatInstructionLikeSelect(const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
simplifyDemandedUseBitsIntrinsic(InstCombiner &IC, IntrinsicInst &II, APInt DemandedMask, KnownBits &Known, bool &KnownBitsComputed)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
simplifyDemandedVectorEltsIntrinsic(InstCombiner &IC, IntrinsicInst &II, APInt DemandedElts, APInt &UndefElts, APInt &UndefElts2, APInt &UndefElts3, std::function< void(Instruction *, unsigned, APInt, APInt &)> SimplifyAndSetOp)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
supportsEfficientVectorElementLoadStore()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
supportsScalableVectors() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
supportsTailCallFor(const CallBase *CB)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
supportsTailCalls()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
useAA()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
useColdCCForColdCall(Function &F)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
~Concept()=0 | llvm::TargetTransformInfo::Concept | pure virtual |