/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | IVDescriptors.cpp | 32 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 D | TargetTransformInfo.cpp | 1216 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | IVDescriptors.h | 71 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 D | TargetTransformInfo.h | 59 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 D | TargetTransformInfoImpl.h | 870 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | LoopUtils.h | 402 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 D | LoopVectorizationLegality.cpp | 827 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 D | LoopVectorize.cpp | 790 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 D | VPlan.h | 57 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 D | VPlanRecipes.cpp | 416 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 D | LoopVectorizationPlanner.h | 363 DenseMap<const RecurrenceDescriptor *, Value *>>
|
H A D | VPlanTransforms.cpp | 759 const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor(); in clearReductionWrapFlags()
|
H A D | SLPVectorizer.cpp | 13952 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 D | LoopUtils.cpp | 1006 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 D | LoopVectorizationLegality.h | 254 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVTargetTransformInfo.h | 271 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64TargetTransformInfo.h | 380 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
|
H A D | AArch64TargetTransformInfo.cpp | 3510 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopInterchange.cpp | 715 RecurrenceDescriptor RD; in findInnerReductionPhi() 716 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) { in findInnerReductionPhi()
|