| /freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 44 bool RecurrenceDescriptor::areAllUsesIn(Instruction *I, in areAllUsesIn() 52 bool RecurrenceDescriptor::isIntegerRecurrenceKind(RecurKind Kind) { in isIntegerRecurrenceKind() 74 bool RecurrenceDescriptor::isArithmeticRecurrenceKind(RecurKind Kind) { in isArithmeticRecurrenceKind() 500 RecurrenceDescriptor RD(RdxStart, ExitInstruction, Kind, FMF, in AddReductionVar() 508 RecurrenceDescriptor::InstDesc 509 RecurrenceDescriptor::isMinMaxSelectCmpPattern(Instruction *I, in isMinMaxSelectCmpPattern() 557 RecurrenceDescriptor::InstDesc 594 RecurrenceDescriptor::InstDesc 634 bool RecurrenceDescriptor::hasMultipleUsesOf( in hasMultipleUsesOf() 717 bool RecurrenceDescriptor::isFirstOrderRecurrence( in isFirstOrderRecurrence() [all …]
|
| H A D | TargetTransformInfo.cpp | 998 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
| /freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | IVDescriptors.h | 67 class RecurrenceDescriptor { 69 RecurrenceDescriptor() = default; 71 RecurrenceDescriptor(Value *Start, Instruction *Exit, RecurKind K, in RecurrenceDescriptor() function 154 RecurrenceDescriptor &RedDes, 164 RecurrenceDescriptor &RedDes,
|
| H A D | TargetTransformInfo.h | 1310 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 1696 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 2243 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| H A D | TargetTransformInfoImpl.h | 720 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 373 const RecurrenceDescriptor &Desc, Value *Src); 378 const RecurrenceDescriptor &Desc, Value *Src,
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 655 RecurrenceDescriptor RedDes; in canVectorizeInstrs() 656 if (RecurrenceDescriptor::isReductionPHI(Phi, TheLoop, RedDes, DB, AC, in canVectorizeInstrs() 685 if (RecurrenceDescriptor::isFirstOrderRecurrence(Phi, TheLoop, in canVectorizeInstrs() 925 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeFPMath()
|
| H A D | VPlan.h | 57 class RecurrenceDescriptor; variable 1170 RecurrenceDescriptor &RdxDesc; 1181 VPReductionPHIRecipe(PHINode *Phi, RecurrenceDescriptor &RdxDesc, 1211 RecurrenceDescriptor &getRecurrenceDescriptor() { return RdxDesc; } in getRecurrenceDescriptor() 1335 RecurrenceDescriptor *RdxDesc; 1340 VPReductionRecipe(RecurrenceDescriptor *R, Instruction *I, VPValue *ChainOp, in VPReductionRecipe()
|
| H A D | LoopVectorize.cpp | 560 bool useOrderedReductions(RecurrenceDescriptor &RdxDesc); 602 void clearReductionWrapFlags(const RecurrenceDescriptor &RdxDesc, 1526 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeReductions() 4403 unsigned Op = RecurrenceDescriptor::getOpcode(RK); in fixReduction() 7207 const RecurrenceDescriptor &RdxDesc = in getReductionPatternCost() 7922 RecurrenceDescriptor &RedDes = Reduction.second; in collectValuesToIgnore() 7938 RecurrenceDescriptor &RdxDesc = Reduction.second; in collectInLoopReductions() 9186 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind)) in buildVPlanWithVPRecipes() 9517 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind)) { in adjustRecipesForInLoopReductions() 9542 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind)) { in adjustRecipesForInLoopReductions() [all …]
|
| H A D | VPlan.cpp | 1314 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(RK)) { in execute() 1325 Constant *IdenC = RecurrenceDescriptor::getRecurrenceIdentity( in execute()
|
| H A D | SLPVectorizer.cpp | 7324 RecurrenceDescriptor::isMinMaxRecurrenceKind(getRdxKind(I)); in isCmpSelMinMax() 7341 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(Kind) || in isVectorizable() 7388 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(Kind); in createOp() 7441 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(RdxKind)) { in createOp() 7458 if (SelI && RecurrenceDescriptor::isIntMinMaxRecurrenceKind(RdxKind)) { in createOp() 7977 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(RdxKind); in getReductionCost()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVTargetTransformInfo.h | 151 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.h | 263 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 903 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getOrderedReduction() 942 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getShuffleReduction() 1003 const RecurrenceDescriptor &Desc, in createTargetReduction() 1014 const RecurrenceDescriptor &Desc, in createOrderedReduction()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.h | 316 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
|
| H A D | AArch64TargetTransformInfo.cpp | 1875 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopInterchange.cpp | 743 RecurrenceDescriptor RD; in findInnerReductionPhi() 744 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) in findInnerReductionPhi() 758 RecurrenceDescriptor RD; in findInductionAndReductions()
|