| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 32 bool RecurrenceDescriptor::areAllUsesIn(Instruction *I, in areAllUsesIn() 40 bool RecurrenceDescriptor::isIntegerRecurrenceKind(RecurKind Kind) { in isIntegerRecurrenceKind() 60 bool RecurrenceDescriptor::isFloatingPointRecurrenceKind(RecurKind Kind) { in isFloatingPointRecurrenceKind() 191 !RecurrenceDescriptor::isFMulAddIntrinsic(Exit)) in checkOrderedReduction() 213 bool RecurrenceDescriptor::AddReductionVar( in AddReductionVar() 215 RecurrenceDescriptor &RedDes, DemandedBits *DB, AssumptionCache *AC, in AddReductionVar() 598 RecurrenceDescriptor RD(RdxStart, ExitInstruction, IntermediateStore, Kind, in AddReductionVar() 627 RecurrenceDescriptor::InstDesc 628 RecurrenceDescriptor::isAnyOfPattern(Loop *Loop, PHINode *OrigPhi, in isAnyOfPattern() 662 RecurrenceDescriptor::InstDesc [all …]
|
| H A D | TargetTransformInfo.cpp | 1271 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | IVDescriptors.h | 59 /// The RecurrenceDescriptor is used to identify recurrences variables in a 71 class RecurrenceDescriptor { 73 RecurrenceDescriptor() = default; 75 RecurrenceDescriptor(Value *Start, Instruction *Exit, StoreInst *Store, in RecurrenceDescriptor() function 166 /// RecurrenceDescriptor. If either \p DB is non-null or \p AC and \p DT are 171 FastMathFlags FuncFMF, RecurrenceDescriptor &RedDes, 175 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor 181 isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes,
|
| H A D | TargetTransformInfo.h | 60 class RecurrenceDescriptor; variable 1660 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 2162 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 2893 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| H A D | TargetTransformInfoImpl.h | 906 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 407 const RecurrenceDescriptor &Desc); 413 const RecurrenceDescriptor &Desc, 420 Value *createTargetReduction(IRBuilderBase &B, const RecurrenceDescriptor &Desc, 426 const RecurrenceDescriptor &Desc, Value *Src, 431 const RecurrenceDescriptor &Desc, Value *Src,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 827 RecurrenceDescriptor RedDes; in canVectorizeInstrs() 828 if (RecurrenceDescriptor::isReductionPHI(Phi, TheLoop, RedDes, DB, AC, in canVectorizeInstrs() 870 if (RecurrenceDescriptor::isFixedOrderRecurrence(Phi, TheLoop, DT)) { in canVectorizeInstrs() 1182 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeFPMath() 1189 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantStoreOfReduction() 1196 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantAddressOfReduction()
|
| H A D | LoopVectorize.cpp | 707 SmallMapVector<const RecurrenceDescriptor *, PHINode *, 4> 1103 bool useOrderedReductions(const RecurrenceDescriptor &RdxDesc) const { in useOrderedReductions() 1337 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeReductions() 2898 if (RecurrenceDescriptor::isFMulAddIntrinsic(CI)) in getVectorCallCost() 4763 const RecurrenceDescriptor &RdxDesc = PhiDescriptorPair.second; in getSmallestAndWidestTypes() 4803 const RecurrenceDescriptor &RdxDesc = in collectElementTypesForWidening() 5044 const RecurrenceDescriptor &RdxDesc = Reduction.second; in selectInterleaveCount() 5045 return RecurrenceDescriptor::isAnyOfRecurrenceKind( in selectInterleaveCount() 5061 const RecurrenceDescriptor &RdxDesc = Reduction.second; in selectInterleaveCount() 5777 const RecurrenceDescriptor &RdxDesc = in getReductionPatternCost() [all …]
|
| H A D | VPlanRecipes.cpp | 554 const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor(); in generatePerPart() 575 unsigned Op = RecurrenceDescriptor::getOpcode(RK); in generatePerPart() 576 if (RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) in generatePerPart() 598 RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) && in generatePerPart() 1738 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind)) { in execute() 1758 const RecurrenceDescriptor &RdxDesc = getRecurrenceDescriptor(); in execute() 1781 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind)) in execute() 1814 const RecurrenceDescriptor &RdxDesc = getRecurrenceDescriptor(); in print() 2584 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(RK) || in execute() 2585 RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) { in execute()
|
| H A D | VPlan.h | 59 class RecurrenceDescriptor; variable 1968 const RecurrenceDescriptor &RdxDesc; 1979 VPReductionPHIRecipe(PHINode *Phi, const RecurrenceDescriptor &RdxDesc, 2012 const RecurrenceDescriptor &getRecurrenceDescriptor() const { in getRecurrenceDescriptor() 2175 const RecurrenceDescriptor &RdxDesc; 2181 VPReductionRecipe(const unsigned char SC, const RecurrenceDescriptor &R, in VPReductionRecipe() 2192 VPReductionRecipe(const RecurrenceDescriptor &R, Instruction *I, in VPReductionRecipe() 2226 const RecurrenceDescriptor &getRecurrenceDescriptor() const { in getRecurrenceDescriptor()
|
| H A D | LoopVectorizationPlanner.h | 384 DenseMap<const RecurrenceDescriptor *, Value *>>
|
| H A D | VPlanTransforms.cpp | 977 const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor(); in clearReductionWrapFlags()
|
| H A D | SLPVectorizer.cpp | 15694 if (!RecurrenceDescriptor::isIntMinMaxRecurrenceKind(::getRdxKind(V))) { in computeMinimumValueSizes() 16677 RecurrenceDescriptor::isMinMaxRecurrenceKind(getRdxKind(I)); in isCmpSelMinMax() 16694 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(Kind) || in isVectorizable() 16724 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(Kind); in createOp() 16795 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(RdxKind)) { in createOp() 17828 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(RdxKind); in getReductionCost()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 1107 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getOrderedReduction() 1142 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getShuffleReduction() 1176 const RecurrenceDescriptor &Desc, in createAnyOfTargetReduction() 1179 RecurrenceDescriptor::isAnyOfRecurrenceKind(Desc.getRecurrenceKind()) && in createAnyOfTargetReduction() 1252 const RecurrenceDescriptor &Desc) { in createSimpleTargetReduction() 1254 assert(!RecurrenceDescriptor::isAnyOfRecurrenceKind(Kind) && in createSimpleTargetReduction() 1266 const RecurrenceDescriptor &Desc, Value *Src, in createTargetReduction() 1275 if (RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) in createTargetReduction() 1282 const RecurrenceDescriptor &Desc, in createOrderedReduction() 1294 const RecurrenceDescriptor &Desc, in createOrderedReduction()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.h | 254 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.h | 386 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
|
| H A D | AArch64TargetTransformInfo.cpp | 3784 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVTargetTransformInfo.h | 304 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopInterchange.cpp | 715 RecurrenceDescriptor RD; in findInnerReductionPhi() 716 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) { in findInnerReductionPhi()
|