Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp32 bool RecurrenceDescriptor::areAllUsesIn(Instruction *I, in areAllUsesIn()
40 bool RecurrenceDescriptor::isIntegerRecurrenceKind(RecurKind Kind) { in isIntegerRecurrenceKind()
191 !RecurrenceDescriptor::isFMulAddIntrinsic(Exit)) in checkOrderedReduction()
213 bool RecurrenceDescriptor::AddReductionVar( in AddReductionVar()
627 RecurrenceDescriptor::InstDesc
628 RecurrenceDescriptor::isAnyOfPattern(Loop *Loop, PHINode *OrigPhi, in isAnyOfPattern()
663 RecurrenceDescriptor::InstDesc
723 RecurrenceDescriptor::InstDesc
766 RecurrenceDescriptor::InstDesc
825 bool RecurrenceDescriptor::hasMultipleUsesOf( in hasMultipleUsesOf()
[all …]
H A DTargetTransformInfo.cpp1216 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DIVDescriptors.h71 class RecurrenceDescriptor {
73 RecurrenceDescriptor() = default;
75 RecurrenceDescriptor(Value *Start, Instruction *Exit, StoreInst *Store, in RecurrenceDescriptor() function
171 FastMathFlags FuncFMF, RecurrenceDescriptor &RedDes,
181 isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes,
H A DTargetTransformInfo.h59 class RecurrenceDescriptor; variable
1610 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
2089 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
2789 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
H A DTargetTransformInfoImpl.h870 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h402 const RecurrenceDescriptor &Desc,
409 Value *createTargetReduction(IRBuilderBase &B, const RecurrenceDescriptor &Desc,
415 const RecurrenceDescriptor &Desc, Value *Src,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp827 RecurrenceDescriptor RedDes; in canVectorizeInstrs()
828 if (RecurrenceDescriptor::isReductionPHI(Phi, TheLoop, RedDes, DB, AC, in canVectorizeInstrs()
870 if (RecurrenceDescriptor::isFixedOrderRecurrence(Phi, TheLoop, DT)) { in canVectorizeInstrs()
1174 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeFPMath()
1181 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantStoreOfReduction()
1188 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantAddressOfReduction()
H A DLoopVectorize.cpp790 SmallMapVector<const RecurrenceDescriptor *, PHINode *, 4>
1526 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeReductions()
3402 if (RecurrenceDescriptor::isFMulAddIntrinsic(CI)) in getVectorCallCost()
3762 const RecurrenceDescriptor &RdxDesc) { in useOrderedReductions()
5310 const RecurrenceDescriptor &RdxDesc = in collectElementTypesForWidening()
6273 const RecurrenceDescriptor &RdxDesc = in getReductionPatternCost()
6720 if (RecurrenceDescriptor::isFMulAddIntrinsic(CI)) in setVectorizedCallDecision()
7216 const RecurrenceDescriptor &RedDes = Reduction.second; in collectValuesToIgnore()
7232 const RecurrenceDescriptor &RdxDesc = Reduction.second; in collectInLoopReductions()
7540 DenseMap<const RecurrenceDescriptor *, Value *>>
[all …]
H A DVPlan.h57 class RecurrenceDescriptor; variable
1728 const RecurrenceDescriptor &RdxDesc;
1739 VPReductionPHIRecipe(PHINode *Phi, const RecurrenceDescriptor &RdxDesc,
1764 const RecurrenceDescriptor &getRecurrenceDescriptor() const { in getRecurrenceDescriptor()
1912 const RecurrenceDescriptor &RdxDesc;
1915 VPReductionRecipe(const RecurrenceDescriptor &R, Instruction *I, in VPReductionRecipe()
H A DVPlanRecipes.cpp416 const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor(); in generateInstruction()
439 unsigned Op = RecurrenceDescriptor::getOpcode(RK); in generateInstruction()
452 else if (RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) { in generateInstruction()
1746 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(RK) || in execute()
1747 RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) { in execute()
H A DLoopVectorizationPlanner.h363 DenseMap<const RecurrenceDescriptor *, Value *>>
H A DVPlanTransforms.cpp759 const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor(); in clearReductionWrapFlags()
H A DSLPVectorizer.cpp13952 RecurrenceDescriptor::isMinMaxRecurrenceKind(getRdxKind(I)); in isCmpSelMinMax()
13969 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(Kind) || in isVectorizable()
13999 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(Kind); in createOp()
14089 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(RdxKind)) { in createOp()
15128 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(RdxKind); in getReductionCost()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp1006 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getOrderedReduction()
1047 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getShuffleReduction()
1057 const RecurrenceDescriptor &Desc, in createAnyOfTargetReduction()
1060 RecurrenceDescriptor::isAnyOfRecurrenceKind(Desc.getRecurrenceKind()) && in createAnyOfTargetReduction()
1136 const RecurrenceDescriptor &Desc, Value *Src, in createTargetReduction()
1145 if (RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) in createTargetReduction()
1152 const RecurrenceDescriptor &Desc, in createOrderedReduction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h254 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.h271 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.h380 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
H A DAArch64TargetTransformInfo.cpp3510 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp715 RecurrenceDescriptor RD; in findInnerReductionPhi()
716 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) { in findInnerReductionPhi()