Home
last modified time | relevance | path

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

/freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp44 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 DTargetTransformInfo.cpp998 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DIVDescriptors.h67 class RecurrenceDescriptor {
69 RecurrenceDescriptor() = default;
71 RecurrenceDescriptor(Value *Start, Instruction *Exit, RecurKind K, in RecurrenceDescriptor() function
154 RecurrenceDescriptor &RedDes,
164 RecurrenceDescriptor &RedDes,
H A DTargetTransformInfo.h1310 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
1696 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
2243 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
H A DTargetTransformInfoImpl.h720 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h373 const RecurrenceDescriptor &Desc, Value *Src);
378 const RecurrenceDescriptor &Desc, Value *Src,
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp655 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 DVPlan.h57 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 DLoopVectorize.cpp560 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 DVPlan.cpp1314 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(RK)) { in execute()
1325 Constant *IdenC = RecurrenceDescriptor::getRecurrenceIdentity( in execute()
H A DSLPVectorizer.cpp7324 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 DRISCVTargetTransformInfo.h151 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h263 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp903 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 DAArch64TargetTransformInfo.h316 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
H A DAArch64TargetTransformInfo.cpp1875 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp743 RecurrenceDescriptor RD; in findInnerReductionPhi()
744 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) in findInnerReductionPhi()
758 RecurrenceDescriptor RD; in findInductionAndReductions()