| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 34 bool RecurrenceDescriptor::areAllUsesIn(Instruction *I, in areAllUsesIn() 42 bool RecurrenceDescriptor::isIntegerRecurrenceKind(RecurKind Kind) { in isIntegerRecurrenceKind() 194 !RecurrenceDescriptor::isFMulAddIntrinsic(Exit)) in checkOrderedReduction() 216 bool RecurrenceDescriptor::AddReductionVar( in AddReductionVar() 631 RecurrenceDescriptor::InstDesc 667 RecurrenceDescriptor::InstDesc 723 RecurrenceDescriptor::InstDesc 760 RecurrenceDescriptor::InstDesc 811 bool RecurrenceDescriptor::hasMultipleUsesOf( in hasMultipleUsesOf() 924 bool RecurrenceDescriptor::isFirstOrderRecurrence( in isFirstOrderRecurrence() [all …]
|
| H A D | TargetTransformInfo.cpp | 1066 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | IVDescriptors.h | 69 class RecurrenceDescriptor { 71 RecurrenceDescriptor() = default; 73 RecurrenceDescriptor(Value *Start, Instruction *Exit, StoreInst *Store, in RecurrenceDescriptor() function 169 FastMathFlags FuncFMF, RecurrenceDescriptor &RedDes, 179 isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes,
|
| H A D | TargetTransformInfo.h | 56 class RecurrenceDescriptor; variable 1389 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 1822 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 2428 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| H A D | TargetTransformInfoImpl.h | 773 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 395 const RecurrenceDescriptor &Desc, 403 const RecurrenceDescriptor &Desc, Value *Src, 409 const RecurrenceDescriptor &Desc, Value *Src,
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 683 RecurrenceDescriptor RedDes; in canVectorizeInstrs() 684 if (RecurrenceDescriptor::isReductionPHI(Phi, TheLoop, RedDes, DB, AC, in canVectorizeInstrs() 713 if (RecurrenceDescriptor::isFirstOrderRecurrence(Phi, TheLoop, in canVectorizeInstrs() 1007 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeFPMath() 1014 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantStoreOfReduction() 1021 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantAddressOfReduction()
|
| H A D | LoopVectorize.cpp | 731 SmallMapVector<const RecurrenceDescriptor *, PHINode *, 4> 1084 const RecurrenceDescriptor &RdxDesc) { in getReductionResumeValue() 3940 unsigned Op = RecurrenceDescriptor::getOpcode(RK); in fixReduction() 4169 const RecurrenceDescriptor &RdxDesc) { in useOrderedReductions() 5586 const RecurrenceDescriptor &RdxDesc = in collectElementTypesForWidening() 6517 const RecurrenceDescriptor &RdxDesc = in getReductionPatternCost() 7246 if (RecurrenceDescriptor::isFMulAddIntrinsic(I)) in getInstructionCost() 7321 const RecurrenceDescriptor &RedDes = Reduction.second; in collectValuesToIgnore() 7337 const RecurrenceDescriptor &RdxDesc = Reduction.second; in collectInLoopReductions() 8494 const RecurrenceDescriptor &RdxDesc = in tryToCreateWidenRecipe() [all …]
|
| H A D | VPlan.h | 59 class RecurrenceDescriptor; variable 1315 const RecurrenceDescriptor &RdxDesc; 1326 VPReductionPHIRecipe(PHINode *Phi, const RecurrenceDescriptor &RdxDesc, 1356 const RecurrenceDescriptor &getRecurrenceDescriptor() const { in getRecurrenceDescriptor() 1507 const RecurrenceDescriptor *RdxDesc; 1512 VPReductionRecipe(const RecurrenceDescriptor *R, Instruction *I, in VPReductionRecipe()
|
| H A D | VPlanRecipes.cpp | 1121 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(RK) || in execute() 1122 RecurrenceDescriptor::isSelectCmpRecurrenceKind(RK)) { in execute()
|
| H A D | SLPVectorizer.cpp | 10518 RecurrenceDescriptor::isMinMaxRecurrenceKind(getRdxKind(I)); in isCmpSelMinMax() 10535 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(Kind) || in isVectorizable() 10562 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(Kind); in createOp() 10629 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(RdxKind)) { in createOp() 11426 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(RdxKind); in getReductionCost()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 936 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getOrderedReduction() 977 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getShuffleReduction() 989 const RecurrenceDescriptor &Desc, in createSelectCmpTargetReduction() 991 assert(RecurrenceDescriptor::isSelectCmpRecurrenceKind( in createSelectCmpTargetReduction() 1066 const RecurrenceDescriptor &Desc, Value *Src, in createTargetReduction() 1075 if (RecurrenceDescriptor::isSelectCmpRecurrenceKind(RK)) in createTargetReduction() 1082 const RecurrenceDescriptor &Desc, in createOrderedReduction()
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVTargetTransformInfo.h | 192 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.h | 256 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.h | 356 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
|
| H A D | AArch64TargetTransformInfo.cpp | 2584 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | LoopInterchange.cpp | 767 RecurrenceDescriptor RD; in findInnerReductionPhi() 768 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) { in findInnerReductionPhi() 786 RecurrenceDescriptor RD; in findInductionAndReductions()
|