AC | llvm::LoopVectorizationCostModel | |
blockNeedsPredicationForAnyReason(BasicBlock *BB) const | llvm::LoopVectorizationCostModel | inline |
calculateRegisterUsage(ArrayRef< ElementCount > VFs) | llvm::LoopVectorizationCostModel | |
canTruncateToMinimalBitwidth(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | inline |
canVectorizeReductions(ElementCount VF) const | llvm::LoopVectorizationCostModel | inline |
CM_GatherScatter enum value | llvm::LoopVectorizationCostModel | |
CM_Interleave enum value | llvm::LoopVectorizationCostModel | |
CM_IntrinsicCall enum value | llvm::LoopVectorizationCostModel | |
CM_Scalarize enum value | llvm::LoopVectorizationCostModel | |
CM_Unknown enum value | llvm::LoopVectorizationCostModel | |
CM_VectorCall enum value | llvm::LoopVectorizationCostModel | |
CM_Widen enum value | llvm::LoopVectorizationCostModel | |
CM_Widen_Reverse enum value | llvm::LoopVectorizationCostModel | |
collectElementTypesForWidening() | llvm::LoopVectorizationCostModel | |
collectInLoopReductions() | llvm::LoopVectorizationCostModel | |
collectInstsToScalarize(ElementCount VF) | llvm::LoopVectorizationCostModel | |
collectUniformsAndScalars(ElementCount VF) | llvm::LoopVectorizationCostModel | inline |
collectValuesToIgnore() | llvm::LoopVectorizationCostModel | |
computeMaxVF(ElementCount UserVF, unsigned UserIC) | llvm::LoopVectorizationCostModel | |
DB | llvm::LoopVectorizationCostModel | |
ElementTypesInLoop | llvm::LoopVectorizationCostModel | |
expectedCost(ElementCount VF) | llvm::LoopVectorizationCostModel | |
foldTailByMasking() const | llvm::LoopVectorizationCostModel | inline |
foldTailWithEVL() const | llvm::LoopVectorizationCostModel | inline |
getCallWideningDecision(CallInst *CI, ElementCount VF) const | llvm::LoopVectorizationCostModel | inline |
getDivRemSpeculationCost(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | |
getInstructionCost(Instruction *I, ElementCount VF) | llvm::LoopVectorizationCostModel | |
getInterleavedAccessGroup(Instruction *Instr) const | llvm::LoopVectorizationCostModel | inline |
getMinimalBitwidths() const | llvm::LoopVectorizationCostModel | inline |
getReductionPatternCost(Instruction *I, ElementCount VF, Type *VectorTy, TTI::TargetCostKind CostKind) const | llvm::LoopVectorizationCostModel | |
getSmallestAndWidestTypes() | llvm::LoopVectorizationCostModel | |
getTailFoldingStyle(bool IVUpdateMayOverflow=true) const | llvm::LoopVectorizationCostModel | inline |
getVectorCallCost(CallInst *CI, ElementCount VF) const | llvm::LoopVectorizationCostModel | |
getVectorIntrinsicCost(CallInst *CI, ElementCount VF) const | llvm::LoopVectorizationCostModel | |
getWideningCost(Instruction *I, ElementCount VF) | llvm::LoopVectorizationCostModel | inline |
getWideningDecision(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | inline |
hasPredStores() const | llvm::LoopVectorizationCostModel | inline |
Hints | llvm::LoopVectorizationCostModel | |
InstWidening enum name | llvm::LoopVectorizationCostModel | |
interleavedAccessCanBeWidened(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | |
InterleaveInfo | llvm::LoopVectorizationCostModel | |
invalidateCostModelingDecisions() | llvm::LoopVectorizationCostModel | inline |
isAccessInterleaved(Instruction *Instr) const | llvm::LoopVectorizationCostModel | inline |
isDivRemScalarWithPredication(InstructionCost ScalarCost, InstructionCost SafeDivisorCost) const | llvm::LoopVectorizationCostModel | inline |
isEpilogueVectorizationProfitable(const ElementCount VF) const | llvm::LoopVectorizationCostModel | |
isInLoopReduction(PHINode *Phi) const | llvm::LoopVectorizationCostModel | inline |
isLegalGatherOrScatter(Value *V, ElementCount VF) | llvm::LoopVectorizationCostModel | inline |
isLegalMaskedLoad(Type *DataType, Value *Ptr, Align Alignment) const | llvm::LoopVectorizationCostModel | inline |
isLegalMaskedStore(Type *DataType, Value *Ptr, Align Alignment) const | llvm::LoopVectorizationCostModel | inline |
isOptimizableIVTruncate(Instruction *I, ElementCount VF) | llvm::LoopVectorizationCostModel | inline |
isPredicatedInst(Instruction *I) const | llvm::LoopVectorizationCostModel | |
isProfitableToScalarize(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | inline |
isScalarAfterVectorization(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | inline |
isScalarEpilogueAllowed() const | llvm::LoopVectorizationCostModel | inline |
isScalarWithPredication(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | |
isUniformAfterVectorization(Instruction *I, ElementCount VF) const | llvm::LoopVectorizationCostModel | inline |
Legal | llvm::LoopVectorizationCostModel | |
LI | llvm::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::LoopVectorizationCostModel | inline |
memoryInstructionCanBeWidened(Instruction *I, ElementCount VF) | llvm::LoopVectorizationCostModel | |
ORE | llvm::LoopVectorizationCostModel | |
PSE | llvm::LoopVectorizationCostModel | |
requiresScalarEpilogue(bool IsVectorizing) const | llvm::LoopVectorizationCostModel | inline |
requiresScalarEpilogue(VFRange Range) const | llvm::LoopVectorizationCostModel | inline |
runtimeChecksRequired() | llvm::LoopVectorizationCostModel | |
selectInterleaveCount(ElementCount VF, InstructionCost LoopCost) | llvm::LoopVectorizationCostModel | |
selectUserVectorizationFactor(ElementCount UserVF) | llvm::LoopVectorizationCostModel | inline |
setCallWideningDecision(CallInst *CI, ElementCount VF, InstWidening Kind, Function *Variant, Intrinsic::ID IID, std::optional< unsigned > MaskPos, InstructionCost Cost) | llvm::LoopVectorizationCostModel | inline |
setCostBasedWideningDecision(ElementCount VF) | llvm::LoopVectorizationCostModel | |
setTailFoldingStyles(bool IsScalableVF, unsigned UserIC) | llvm::LoopVectorizationCostModel | inline |
setVectorizedCallDecision(ElementCount VF) | llvm::LoopVectorizationCostModel | |
setWideningDecision(Instruction *I, ElementCount VF, InstWidening W, InstructionCost Cost) | llvm::LoopVectorizationCostModel | inline |
setWideningDecision(const InterleaveGroup< Instruction > *Grp, ElementCount VF, InstWidening W, InstructionCost Cost) | llvm::LoopVectorizationCostModel | inline |
TheFunction | llvm::LoopVectorizationCostModel | |
TheLoop | llvm::LoopVectorizationCostModel | |
TLI | llvm::LoopVectorizationCostModel | |
TTI | llvm::LoopVectorizationCostModel | |
useOrderedReductions(const RecurrenceDescriptor &RdxDesc) const | llvm::LoopVectorizationCostModel | inline |
ValuesToIgnore | llvm::LoopVectorizationCostModel | |
VecValuesToIgnore | llvm::LoopVectorizationCostModel | |