LLVM 20.0.0git
llvm::LoopVectorizationCostModel Member List

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

ACllvm::LoopVectorizationCostModel
blockNeedsPredicationForAnyReason(BasicBlock *BB) constllvm::LoopVectorizationCostModelinline
calculateRegisterUsage(ArrayRef< ElementCount > VFs)llvm::LoopVectorizationCostModel
canTruncateToMinimalBitwidth(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModelinline
canVectorizeReductions(ElementCount VF) constllvm::LoopVectorizationCostModelinline
CM_GatherScatter enum valuellvm::LoopVectorizationCostModel
CM_Interleave enum valuellvm::LoopVectorizationCostModel
CM_IntrinsicCall enum valuellvm::LoopVectorizationCostModel
CM_Scalarize enum valuellvm::LoopVectorizationCostModel
CM_Unknown enum valuellvm::LoopVectorizationCostModel
CM_VectorCall enum valuellvm::LoopVectorizationCostModel
CM_Widen enum valuellvm::LoopVectorizationCostModel
CM_Widen_Reverse enum valuellvm::LoopVectorizationCostModel
collectElementTypesForWidening()llvm::LoopVectorizationCostModel
collectInLoopReductions()llvm::LoopVectorizationCostModel
collectInstsToScalarize(ElementCount VF)llvm::LoopVectorizationCostModel
collectUniformsAndScalars(ElementCount VF)llvm::LoopVectorizationCostModelinline
collectValuesToIgnore()llvm::LoopVectorizationCostModel
computeMaxVF(ElementCount UserVF, unsigned UserIC)llvm::LoopVectorizationCostModel
DBllvm::LoopVectorizationCostModel
ElementTypesInLoopllvm::LoopVectorizationCostModel
expectedCost(ElementCount VF)llvm::LoopVectorizationCostModel
foldTailByMasking() constllvm::LoopVectorizationCostModelinline
foldTailWithEVL() constllvm::LoopVectorizationCostModelinline
getCallWideningDecision(CallInst *CI, ElementCount VF) constllvm::LoopVectorizationCostModelinline
getDivRemSpeculationCost(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModel
getInstructionCost(Instruction *I, ElementCount VF)llvm::LoopVectorizationCostModel
getInterleavedAccessGroup(Instruction *Instr) constllvm::LoopVectorizationCostModelinline
getMinimalBitwidths() constllvm::LoopVectorizationCostModelinline
getReductionPatternCost(Instruction *I, ElementCount VF, Type *VectorTy, TTI::TargetCostKind CostKind) constllvm::LoopVectorizationCostModel
getSmallestAndWidestTypes()llvm::LoopVectorizationCostModel
getTailFoldingStyle(bool IVUpdateMayOverflow=true) constllvm::LoopVectorizationCostModelinline
getVectorCallCost(CallInst *CI, ElementCount VF) constllvm::LoopVectorizationCostModel
getVectorIntrinsicCost(CallInst *CI, ElementCount VF) constllvm::LoopVectorizationCostModel
getWideningCost(Instruction *I, ElementCount VF)llvm::LoopVectorizationCostModelinline
getWideningDecision(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModelinline
hasPredStores() constllvm::LoopVectorizationCostModelinline
Hintsllvm::LoopVectorizationCostModel
InstWidening enum namellvm::LoopVectorizationCostModel
interleavedAccessCanBeWidened(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModel
InterleaveInfollvm::LoopVectorizationCostModel
invalidateCostModelingDecisions()llvm::LoopVectorizationCostModelinline
isAccessInterleaved(Instruction *Instr) constllvm::LoopVectorizationCostModelinline
isDivRemScalarWithPredication(InstructionCost ScalarCost, InstructionCost SafeDivisorCost) constllvm::LoopVectorizationCostModelinline
isEpilogueVectorizationProfitable(const ElementCount VF) constllvm::LoopVectorizationCostModel
isInLoopReduction(PHINode *Phi) constllvm::LoopVectorizationCostModelinline
isLegalGatherOrScatter(Value *V, ElementCount VF)llvm::LoopVectorizationCostModelinline
isLegalMaskedLoad(Type *DataType, Value *Ptr, Align Alignment) constllvm::LoopVectorizationCostModelinline
isLegalMaskedStore(Type *DataType, Value *Ptr, Align Alignment) constllvm::LoopVectorizationCostModelinline
isOptimizableIVTruncate(Instruction *I, ElementCount VF)llvm::LoopVectorizationCostModelinline
isPredicatedInst(Instruction *I) constllvm::LoopVectorizationCostModel
isProfitableToScalarize(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModelinline
isScalarAfterVectorization(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModelinline
isScalarEpilogueAllowed() constllvm::LoopVectorizationCostModelinline
isScalarWithPredication(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModel
isUniformAfterVectorization(Instruction *I, ElementCount VF) constllvm::LoopVectorizationCostModelinline
Legalllvm::LoopVectorizationCostModel
LIllvm::LoopVectorizationCostModel
LoopVectorizationCostModel(ScalarEpilogueLowering SEL, Loop *L, PredicatedScalarEvolution &PSE, LoopInfo *LI, LoopVectorizationLegality *Legal, const TargetTransformInfo &TTI, const TargetLibraryInfo *TLI, DemandedBits *DB, AssumptionCache *AC, OptimizationRemarkEmitter *ORE, const Function *F, const LoopVectorizeHints *Hints, InterleavedAccessInfo &IAI)llvm::LoopVectorizationCostModelinline
memoryInstructionCanBeWidened(Instruction *I, ElementCount VF)llvm::LoopVectorizationCostModel
OREllvm::LoopVectorizationCostModel
PSEllvm::LoopVectorizationCostModel
requiresScalarEpilogue(bool IsVectorizing) constllvm::LoopVectorizationCostModelinline
requiresScalarEpilogue(VFRange Range) constllvm::LoopVectorizationCostModelinline
runtimeChecksRequired()llvm::LoopVectorizationCostModel
selectInterleaveCount(ElementCount VF, InstructionCost LoopCost)llvm::LoopVectorizationCostModel
selectUserVectorizationFactor(ElementCount UserVF)llvm::LoopVectorizationCostModelinline
setCallWideningDecision(CallInst *CI, ElementCount VF, InstWidening Kind, Function *Variant, Intrinsic::ID IID, std::optional< unsigned > MaskPos, InstructionCost Cost)llvm::LoopVectorizationCostModelinline
setCostBasedWideningDecision(ElementCount VF)llvm::LoopVectorizationCostModel
setTailFoldingStyles(bool IsScalableVF, unsigned UserIC)llvm::LoopVectorizationCostModelinline
setVectorizedCallDecision(ElementCount VF)llvm::LoopVectorizationCostModel
setWideningDecision(Instruction *I, ElementCount VF, InstWidening W, InstructionCost Cost)llvm::LoopVectorizationCostModelinline
setWideningDecision(const InterleaveGroup< Instruction > *Grp, ElementCount VF, InstWidening W, InstructionCost Cost)llvm::LoopVectorizationCostModelinline
TheFunctionllvm::LoopVectorizationCostModel
TheLoopllvm::LoopVectorizationCostModel
TLIllvm::LoopVectorizationCostModel
TTIllvm::LoopVectorizationCostModel
useOrderedReductions(const RecurrenceDescriptor &RdxDesc) constllvm::LoopVectorizationCostModelinline
ValuesToIgnorellvm::LoopVectorizationCostModel
VecValuesToIgnorellvm::LoopVectorizationCostModel