Home
last modified time | relevance | path

Searched refs:RecurrenceDescriptor (Results 1 – 17 of 17) sorted by relevance

/llvm-project-15.0.7/llvm/lib/Analysis/
H A DIVDescriptors.cpp34 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 DTargetTransformInfo.cpp1066 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DIVDescriptors.h69 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 DTargetTransformInfo.h56 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 DTargetTransformInfoImpl.h773 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h395 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 DLoopVectorizationLegality.cpp683 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 DLoopVectorize.cpp731 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 DVPlan.h59 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 DVPlanRecipes.cpp1121 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(RK) || in execute()
1122 RecurrenceDescriptor::isSelectCmpRecurrenceKind(RK)) { in execute()
H A DSLPVectorizer.cpp10518 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 DLoopUtils.cpp936 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 DRISCVTargetTransformInfo.h192 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h256 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.h356 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
H A DAArch64TargetTransformInfo.cpp2584 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp767 RecurrenceDescriptor RD; in findInnerReductionPhi()
768 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) { in findInnerReductionPhi()
786 RecurrenceDescriptor RD; in findInductionAndReductions()