|
| WebAssemblyTTIImpl (const WebAssemblyTargetMachine *TM, const Function &F) |
|
bool | areInlineCompatible (const Function *Caller, const Function *Callee) const |
|
|
TTI::PopcntSupportKind | getPopcntSupport (unsigned TyWidth) const |
|
void | getUnrollingPreferences (Loop *L, ScalarEvolution &SE, TTI::UnrollingPreferences &UP) const |
|
|
unsigned | getNumberOfRegisters (unsigned ClassID) const |
|
unsigned | getRegisterBitWidth (bool Vector) const |
|
unsigned | getArithmeticInstrCost (unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind=TTI::TCK_SizeAndLatency, TTI::OperandValueKind Opd1Info=TTI::OK_AnyValue, TTI::OperandValueKind Opd2Info=TTI::OK_AnyValue, TTI::OperandValueProperties Opd1PropInfo=TTI::OP_None, TTI::OperandValueProperties Opd2PropInfo=TTI::OP_None, ArrayRef< const Value * > Args=ArrayRef< const Value * >(), const Instruction *CxtI=nullptr) |
|
unsigned | getVectorInstrCost (unsigned Opcode, Type *Val, unsigned Index) |
|
bool | allowsMisalignedMemoryAccesses (LLVMContext &Context, unsigned BitWidth, unsigned AddressSpace, Align Alignment, bool *Fast) const |
|
bool | hasBranchDivergence () |
|
bool | useGPUDivergenceAnalysis () |
|
bool | isSourceOfDivergence (const Value *V) |
|
bool | isAlwaysUniform (const Value *V) |
|
unsigned | getFlatAddressSpace () |
|
bool | collectFlatAddressOperands (SmallVectorImpl< int > &OpIndexes, Intrinsic::ID IID) const |
|
bool | isNoopAddrSpaceCast (unsigned FromAS, unsigned ToAS) const |
|
unsigned | getAssumedAddrSpace (const Value *V) const |
|
Value * | rewriteIntrinsicWithAddressSpace (IntrinsicInst *II, Value *OldV, Value *NewV) const |
|
bool | isLegalAddImmediate (int64_t imm) |
|
bool | isLegalICmpImmediate (int64_t imm) |
|
bool | isLegalAddressingMode (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace, Instruction *I=nullptr) |
|
bool | isIndexedLoadLegal (TTI::MemIndexedMode M, Type *Ty, const DataLayout &DL) const |
|
bool | isIndexedStoreLegal (TTI::MemIndexedMode M, Type *Ty, const DataLayout &DL) const |
|
bool | isLSRCostLess (TTI::LSRCost C1, TTI::LSRCost C2) |
|
bool | isNumRegsMajorCostOfLSR () |
|
bool | isProfitableLSRChainElement (Instruction *I) |
|
int | getScalingFactorCost (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace) |
|
bool | isTruncateFree (Type *Ty1, Type *Ty2) |
|
bool | isProfitableToHoist (Instruction *I) |
|
bool | useAA () const |
|
bool | isTypeLegal (Type *Ty) |
|
unsigned | getRegUsageForType (Type *Ty) |
|
int | getGEPCost (Type *PointeeType, const Value *Ptr, ArrayRef< const Value * > Operands) |
|
unsigned | getEstimatedNumberOfCaseClusters (const SwitchInst &SI, unsigned &JumpTableSize, ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI) |
|
bool | shouldBuildLookupTables () |
|
bool | haveFastSqrt (Type *Ty) |
|
bool | isFCmpOrdCheaperThanFCmpZero (Type *Ty) |
|
unsigned | getFPOpCost (Type *Ty) |
|
unsigned | getInliningThresholdMultiplier () |
|
unsigned | adjustInliningThreshold (const CallBase *CB) |
|
int | getInlinerVectorBonusPercent () |
|
void | getUnrollingPreferences (Loop *L, ScalarEvolution &SE, TTI::UnrollingPreferences &UP) |
|
void | getPeelingPreferences (Loop *L, ScalarEvolution &SE, TTI::PeelingPreferences &PP) |
|
bool | isHardwareLoopProfitable (Loop *L, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *LibInfo, HardwareLoopInfo &HWLoopInfo) |
|
bool | preferPredicateOverEpilogue (Loop *L, LoopInfo *LI, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *TLI, DominatorTree *DT, const LoopAccessInfo *LAI) |
|
bool | emitGetActiveLaneMask () |
|
Optional< Instruction * > | instCombineIntrinsic (InstCombiner &IC, IntrinsicInst &II) |
|
Optional< Value * > | simplifyDemandedUseBitsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedMask, KnownBits &Known, bool &KnownBitsComputed) |
|
Optional< Value * > | simplifyDemandedVectorEltsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedElts, APInt &UndefElts, APInt &UndefElts2, APInt &UndefElts3, std::function< void(Instruction *, unsigned, APInt, APInt &)> SimplifyAndSetOp) |
|
int | getInstructionLatency (const Instruction *I) |
|
virtual Optional< unsigned > | getCacheSize (TargetTransformInfo::CacheLevel Level) const |
|
virtual Optional< unsigned > | getCacheAssociativity (TargetTransformInfo::CacheLevel Level) const |
|
virtual unsigned | getCacheLineSize () const |
|
virtual unsigned | getPrefetchDistance () const |
|
virtual unsigned | getMinPrefetchStride (unsigned NumMemAccesses, unsigned NumStridedMemAccesses, unsigned NumPrefetches, bool HasCall) const |
|
virtual unsigned | getMaxPrefetchIterationsAhead () const |
|
virtual bool | enableWritePrefetching () const |
|
unsigned | getRegisterBitWidth (bool Vector) const |
|
Optional< unsigned > | getMaxVScale () const |
|
unsigned | getScalarizationOverhead (VectorType *InTy, const APInt &DemandedElts, bool Insert, bool Extract) |
| Estimate the overhead of scalarizing an instruction. More...
|
|
unsigned | getScalarizationOverhead (VectorType *InTy, bool Insert, bool Extract) |
| Helper wrapper for the DemandedElts variant of getScalarizationOverhead. More...
|
|
unsigned | getScalarizationOverhead (VectorType *RetTy, ArrayRef< const Value * > Args, ArrayRef< Type * > Tys) |
| Estimate the overhead of scalarizing the inputs and outputs of an instruction, with return type RetTy and arguments Args of type Tys. More...
|
|
unsigned | getOperandsScalarizationOverhead (ArrayRef< const Value * > Args, ArrayRef< Type * > Tys) |
| Estimate the overhead of scalarizing an instructions unique non-constant operands. More...
|
|
unsigned | getMaxInterleaveFactor (unsigned VF) |
|
unsigned | getArithmeticInstrCost (unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind=TTI::TCK_RecipThroughput, TTI::OperandValueKind Opd1Info=TTI::OK_AnyValue, TTI::OperandValueKind Opd2Info=TTI::OK_AnyValue, TTI::OperandValueProperties Opd1PropInfo=TTI::OP_None, TTI::OperandValueProperties Opd2PropInfo=TTI::OP_None, ArrayRef< const Value * > Args=ArrayRef< const Value * >(), const Instruction *CxtI=nullptr) |
|
unsigned | getShuffleCost (TTI::ShuffleKind Kind, VectorType *Tp, int Index, VectorType *SubTp) |
|
unsigned | getCastInstrCost (unsigned Opcode, Type *Dst, Type *Src, TTI::CastContextHint CCH, TTI::TargetCostKind CostKind, const Instruction *I=nullptr) |
|
unsigned | getExtractWithExtendCost (unsigned Opcode, Type *Dst, VectorType *VecTy, unsigned Index) |
|
unsigned | getCFInstrCost (unsigned Opcode, TTI::TargetCostKind CostKind) |
|
unsigned | getCmpSelInstrCost (unsigned Opcode, Type *ValTy, Type *CondTy, CmpInst::Predicate VecPred, TTI::TargetCostKind CostKind, const Instruction *I=nullptr) |
|
unsigned | getVectorInstrCost (unsigned Opcode, Type *Val, unsigned Index) |
|
unsigned | getMemoryOpCost (unsigned Opcode, Type *Src, MaybeAlign Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, const Instruction *I=nullptr) |
|
unsigned | getGatherScatterOpCost (unsigned Opcode, Type *DataTy, const Value *Ptr, bool VariableMask, Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I=nullptr) |
|
unsigned | getInterleavedMemoryOpCost (unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef< unsigned > Indices, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, bool UseMaskForCond=false, bool UseMaskForGaps=false) |
|
unsigned | getIntrinsicInstrCost (const IntrinsicCostAttributes &ICA, TTI::TargetCostKind CostKind) |
| Get intrinsic cost based on arguments. More...
|
|
unsigned | getTypeBasedIntrinsicInstrCost (const IntrinsicCostAttributes &ICA, TTI::TargetCostKind CostKind) |
| Get intrinsic cost based on argument types. More...
|
|
unsigned | getCallInstrCost (Function *F, Type *RetTy, ArrayRef< Type * > Tys, TTI::TargetCostKind CostKind=TTI::TCK_SizeAndLatency) |
| Compute a cost of the given call instruction. More...
|
|
unsigned | getNumberOfParts (Type *Tp) |
|
unsigned | getAddressComputationCost (Type *Ty, ScalarEvolution *, const SCEV *) |
|
unsigned | getArithmeticReductionCost (unsigned Opcode, VectorType *Ty, bool IsPairwise, TTI::TargetCostKind CostKind) |
| Try to calculate arithmetic and shuffle op costs for reduction operations. More...
|
|
unsigned | getMinMaxReductionCost (VectorType *Ty, VectorType *CondTy, bool IsPairwise, bool IsUnsigned, TTI::TargetCostKind CostKind) |
| Try to calculate op costs for min/max reduction operations. More...
|
|
InstructionCost | getExtendedAddReductionCost (bool IsMLA, bool IsUnsigned, Type *ResTy, VectorType *Ty, TTI::TargetCostKind CostKind) |
|
unsigned | getVectorSplitCost () |
|
int | getGEPCost (Type *PointeeType, const Value *Ptr, ArrayRef< const Value * > Operands, TTI::TargetCostKind CostKind=TTI::TCK_SizeAndLatency) |
|
int | getGEPCost (Type *PointeeType, const Value *Ptr, ArrayRef< const Value * > Operands, TTI::TargetCostKind CostKind=TTI::TCK_SizeAndLatency) const |
|
int | getUserCost (const User *U, ArrayRef< const Value * > Operands, TTI::TargetCostKind CostKind) |
|
int | getInstructionLatency (const Instruction *I) |
|
| TargetTransformInfoImplBase (const TargetTransformInfoImplBase &Arg) |
|
| TargetTransformInfoImplBase (TargetTransformInfoImplBase &&Arg) |
|
const DataLayout & | getDataLayout () const |
|
int | getGEPCost (Type *PointeeType, const Value *Ptr, ArrayRef< const Value * > Operands, TTI::TargetCostKind CostKind=TTI::TCK_SizeAndLatency) const |
|
unsigned | getEstimatedNumberOfCaseClusters (const SwitchInst &SI, unsigned &JTSize, ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI) const |
|
unsigned | getInliningThresholdMultiplier () const |
|
unsigned | adjustInliningThreshold (const CallBase *CB) const |
|
int | getInlinerVectorBonusPercent () const |
|
unsigned | getMemcpyCost (const Instruction *I) const |
|
bool | hasBranchDivergence () const |
|
bool | useGPUDivergenceAnalysis () const |
|
bool | isSourceOfDivergence (const Value *V) const |
|
bool | isAlwaysUniform (const Value *V) const |
|
unsigned | getFlatAddressSpace () const |
|
bool | collectFlatAddressOperands (SmallVectorImpl< int > &OpIndexes, Intrinsic::ID IID) const |
|
bool | isNoopAddrSpaceCast (unsigned, unsigned) const |
|
unsigned | getAssumedAddrSpace (const Value *V) const |
|
Value * | rewriteIntrinsicWithAddressSpace (IntrinsicInst *II, Value *OldV, Value *NewV) const |
|
bool | isLoweredToCall (const Function *F) const |
|
bool | isHardwareLoopProfitable (Loop *L, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *LibInfo, HardwareLoopInfo &HWLoopInfo) const |
|
bool | preferPredicateOverEpilogue (Loop *L, LoopInfo *LI, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *TLI, DominatorTree *DT, const LoopAccessInfo *LAI) const |
|
bool | emitGetActiveLaneMask () const |
|
Optional< Instruction * > | instCombineIntrinsic (InstCombiner &IC, IntrinsicInst &II) const |
|
Optional< Value * > | simplifyDemandedUseBitsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedMask, KnownBits &Known, bool &KnownBitsComputed) const |
|
Optional< Value * > | simplifyDemandedVectorEltsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedElts, APInt &UndefElts, APInt &UndefElts2, APInt &UndefElts3, std::function< void(Instruction *, unsigned, APInt, APInt &)> SimplifyAndSetOp) const |
|
void | getUnrollingPreferences (Loop *, ScalarEvolution &, TTI::UnrollingPreferences &) const |
|
void | getPeelingPreferences (Loop *, ScalarEvolution &, TTI::PeelingPreferences &) const |
|
bool | isLegalAddImmediate (int64_t Imm) const |
|
bool | isLegalICmpImmediate (int64_t Imm) const |
|
bool | isLegalAddressingMode (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace, Instruction *I=nullptr) const |
|
bool | isLSRCostLess (TTI::LSRCost &C1, TTI::LSRCost &C2) const |
|
bool | isNumRegsMajorCostOfLSR () const |
|
bool | isProfitableLSRChainElement (Instruction *I) const |
|
bool | canMacroFuseCmp () const |
|
bool | canSaveCmp (Loop *L, BranchInst **BI, ScalarEvolution *SE, LoopInfo *LI, DominatorTree *DT, AssumptionCache *AC, TargetLibraryInfo *LibInfo) const |
|
TTI::AddressingModeKind | getPreferredAddressingMode (const Loop *L, ScalarEvolution *SE) const |
|
bool | isLegalMaskedStore (Type *DataType, Align Alignment) const |
|
bool | isLegalMaskedLoad (Type *DataType, Align Alignment) const |
|
bool | isLegalNTStore (Type *DataType, Align Alignment) const |
|
bool | isLegalNTLoad (Type *DataType, Align Alignment) const |
|
bool | isLegalMaskedScatter (Type *DataType, Align Alignment) const |
|
bool | isLegalMaskedGather (Type *DataType, Align Alignment) const |
|
bool | isLegalMaskedCompressStore (Type *DataType) const |
|
bool | isLegalMaskedExpandLoad (Type *DataType) const |
|
bool | hasDivRemOp (Type *DataType, bool IsSigned) const |
|
bool | hasVolatileVariant (Instruction *I, unsigned AddrSpace) const |
|
bool | prefersVectorizedAddressing () const |
|
int | getScalingFactorCost (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace) const |
|
bool | LSRWithInstrQueries () const |
|
bool | isTruncateFree (Type *Ty1, Type *Ty2) const |
|
bool | isProfitableToHoist (Instruction *I) const |
|
bool | useAA () const |
|
bool | isTypeLegal (Type *Ty) const |
|
unsigned | getRegUsageForType (Type *Ty) const |
|
bool | shouldBuildLookupTables () const |
|
bool | shouldBuildLookupTablesForConstant (Constant *C) const |
|
bool | useColdCCForColdCall (Function &F) const |
|
unsigned | getScalarizationOverhead (VectorType *Ty, const APInt &DemandedElts, bool Insert, bool Extract) const |
|
unsigned | getOperandsScalarizationOverhead (ArrayRef< const Value * > Args, ArrayRef< Type * > Tys) const |
|
bool | supportsEfficientVectorElementLoadStore () const |
|
bool | enableAggressiveInterleaving (bool LoopHasReductions) const |
|
TTI::MemCmpExpansionOptions | enableMemCmpExpansion (bool OptSize, bool IsZeroCmp) const |
|
bool | enableInterleavedAccessVectorization () const |
|
bool | enableMaskedInterleavedAccessVectorization () const |
|
bool | isFPVectorizationPotentiallyUnsafe () const |
|
bool | allowsMisalignedMemoryAccesses (LLVMContext &Context, unsigned BitWidth, unsigned AddressSpace, Align Alignment, bool *Fast) const |
|
TTI::PopcntSupportKind | getPopcntSupport (unsigned IntTyWidthInBit) const |
|
bool | haveFastSqrt (Type *Ty) const |
|
bool | isFCmpOrdCheaperThanFCmpZero (Type *Ty) const |
|
unsigned | getFPOpCost (Type *Ty) const |
|
int | getIntImmCodeSizeCost (unsigned Opcode, unsigned Idx, const APInt &Imm, Type *Ty) const |
|
unsigned | getIntImmCost (const APInt &Imm, Type *Ty, TTI::TargetCostKind CostKind) const |
|
unsigned | getIntImmCostInst (unsigned Opcode, unsigned Idx, const APInt &Imm, Type *Ty, TTI::TargetCostKind CostKind, Instruction *Inst=nullptr) const |
|
unsigned | getIntImmCostIntrin (Intrinsic::ID IID, unsigned Idx, const APInt &Imm, Type *Ty, TTI::TargetCostKind CostKind) const |
|
unsigned | getNumberOfRegisters (unsigned ClassID) const |
|
unsigned | getRegisterClassForType (bool Vector, Type *Ty=nullptr) const |
|
const char * | getRegisterClassName (unsigned ClassID) const |
|
unsigned | getRegisterBitWidth (bool Vector) const |
|
unsigned | getMinVectorRegisterBitWidth () const |
|
Optional< unsigned > | getMaxVScale () const |
|
bool | shouldMaximizeVectorBandwidth (bool OptSize) const |
|
ElementCount | getMinimumVF (unsigned ElemWidth, bool IsScalable) const |
|
unsigned | getMaximumVF (unsigned ElemWidth, unsigned Opcode) const |
|
bool | shouldConsiderAddressTypePromotion (const Instruction &I, bool &AllowPromotionWithoutCommonHeader) const |
|
unsigned | getCacheLineSize () const |
|
llvm::Optional< unsigned > | getCacheSize (TargetTransformInfo::CacheLevel Level) const |
|
llvm::Optional< unsigned > | getCacheAssociativity (TargetTransformInfo::CacheLevel Level) const |
|
unsigned | getPrefetchDistance () const |
|
unsigned | getMinPrefetchStride (unsigned NumMemAccesses, unsigned NumStridedMemAccesses, unsigned NumPrefetches, bool HasCall) const |
|
unsigned | getMaxPrefetchIterationsAhead () const |
|
bool | enableWritePrefetching () const |
|
unsigned | getMaxInterleaveFactor (unsigned VF) const |
|
unsigned | getArithmeticInstrCost (unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind, TTI::OperandValueKind Opd1Info, TTI::OperandValueKind Opd2Info, TTI::OperandValueProperties Opd1PropInfo, TTI::OperandValueProperties Opd2PropInfo, ArrayRef< const Value * > Args, const Instruction *CxtI=nullptr) const |
|
unsigned | getShuffleCost (TTI::ShuffleKind Kind, VectorType *Ty, int Index, VectorType *SubTp) const |
|
unsigned | getCastInstrCost (unsigned Opcode, Type *Dst, Type *Src, TTI::CastContextHint CCH, TTI::TargetCostKind CostKind, const Instruction *I) const |
|
unsigned | getExtractWithExtendCost (unsigned Opcode, Type *Dst, VectorType *VecTy, unsigned Index) const |
|
unsigned | getCFInstrCost (unsigned Opcode, TTI::TargetCostKind CostKind) const |
|
unsigned | getCmpSelInstrCost (unsigned Opcode, Type *ValTy, Type *CondTy, CmpInst::Predicate VecPred, TTI::TargetCostKind CostKind, const Instruction *I) const |
|
unsigned | getVectorInstrCost (unsigned Opcode, Type *Val, unsigned Index) const |
|
unsigned | getMemoryOpCost (unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, const Instruction *I) const |
|
unsigned | getMaskedMemoryOpCost (unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind) const |
|
unsigned | getGatherScatterOpCost (unsigned Opcode, Type *DataTy, const Value *Ptr, bool VariableMask, Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I=nullptr) const |
|
unsigned | getInterleavedMemoryOpCost (unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef< unsigned > Indices, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, bool UseMaskForCond, bool UseMaskForGaps) const |
|
unsigned | getIntrinsicInstrCost (const IntrinsicCostAttributes &ICA, TTI::TargetCostKind CostKind) const |
|
unsigned | getCallInstrCost (Function *F, Type *RetTy, ArrayRef< Type * > Tys, TTI::TargetCostKind CostKind) const |
|
unsigned | getNumberOfParts (Type *Tp) const |
|
unsigned | getAddressComputationCost (Type *Tp, ScalarEvolution *, const SCEV *) const |
|
unsigned | getArithmeticReductionCost (unsigned, VectorType *, bool, TTI::TargetCostKind) const |
|
unsigned | getMinMaxReductionCost (VectorType *, VectorType *, bool, bool, TTI::TargetCostKind) const |
|
InstructionCost | getExtendedAddReductionCost (bool IsMLA, bool IsUnsigned, Type *ResTy, VectorType *Ty, TTI::TargetCostKind CostKind=TTI::TCK_RecipThroughput) const |
|
unsigned | getCostOfKeepingLiveOverCall (ArrayRef< Type * > Tys) const |
|
bool | getTgtMemIntrinsic (IntrinsicInst *Inst, MemIntrinsicInfo &Info) const |
|
unsigned | getAtomicMemIntrinsicMaxElementSize () const |
|
Value * | getOrCreateResultFromMemIntrinsic (IntrinsicInst *Inst, Type *ExpectedType) const |
|
Type * | getMemcpyLoopLoweringType (LLVMContext &Context, Value *Length, unsigned SrcAddrSpace, unsigned DestAddrSpace, unsigned SrcAlign, unsigned DestAlign) const |
|
void | getMemcpyLoopResidualLoweringType (SmallVectorImpl< Type * > &OpsOut, LLVMContext &Context, unsigned RemainingBytes, unsigned SrcAddrSpace, unsigned DestAddrSpace, unsigned SrcAlign, unsigned DestAlign) const |
|
bool | areInlineCompatible (const Function *Caller, const Function *Callee) const |
|
bool | areFunctionArgsABICompatible (const Function *Caller, const Function *Callee, SmallPtrSetImpl< Argument * > &Args) const |
|
bool | isIndexedLoadLegal (TTI::MemIndexedMode Mode, Type *Ty, const DataLayout &DL) const |
|
bool | isIndexedStoreLegal (TTI::MemIndexedMode Mode, Type *Ty, const DataLayout &DL) const |
|
unsigned | getLoadStoreVecRegBitWidth (unsigned AddrSpace) const |
|
bool | isLegalToVectorizeLoad (LoadInst *LI) const |
|
bool | isLegalToVectorizeStore (StoreInst *SI) const |
|
bool | isLegalToVectorizeLoadChain (unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const |
|
bool | isLegalToVectorizeStoreChain (unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const |
|
bool | isLegalToVectorizeReduction (RecurrenceDescriptor RdxDesc, ElementCount VF) const |
|
unsigned | getLoadVectorFactor (unsigned VF, unsigned LoadSize, unsigned ChainSizeInBytes, VectorType *VecTy) const |
|
unsigned | getStoreVectorFactor (unsigned VF, unsigned StoreSize, unsigned ChainSizeInBytes, VectorType *VecTy) const |
|
bool | preferInLoopReduction (unsigned Opcode, Type *Ty, TTI::ReductionFlags Flags) const |
|
bool | preferPredicatedReductionSelect (unsigned Opcode, Type *Ty, TTI::ReductionFlags Flags) const |
|
bool | shouldExpandReduction (const IntrinsicInst *II) const |
|
unsigned | getGISelRematGlobalCost () const |
|
bool | supportsScalableVectors () const |
|
bool | hasActiveVectorLength () const |
|