Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp31 bool RecurrenceDescriptor::areAllUsesIn(Instruction *I, in areAllUsesIn()
39 bool RecurrenceDescriptor::isIntegerRecurrenceKind(RecurKind Kind) { in isIntegerRecurrenceKind()
62 bool RecurrenceDescriptor::isFloatingPointRecurrenceKind(RecurKind Kind) { in isFloatingPointRecurrenceKind()
193 !RecurrenceDescriptor::isFMulAddIntrinsic(Exit)) in checkOrderedReduction()
215 bool RecurrenceDescriptor::AddReductionVar( in AddReductionVar()
217 RecurrenceDescriptor &RedDes, DemandedBits *DB, AssumptionCache *AC, in AddReductionVar()
600 RecurrenceDescriptor RD(RdxStart, ExitInstruction, IntermediateStore, Kind, in AddReductionVar()
629 RecurrenceDescriptor::InstDesc
630 RecurrenceDescriptor::isAnyOfPattern(Loop *Loop, PHINode *OrigPhi, in isAnyOfPattern()
691 RecurrenceDescriptor::InstDesc
[all …]
H A DTargetTransformInfo.cpp1374 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DIVDescriptors.h88 class RecurrenceDescriptor {
90 RecurrenceDescriptor() = default;
92 RecurrenceDescriptor(Value *Start, Instruction *Exit, StoreInst *Store, in RecurrenceDescriptor() function
197 FastMathFlags FuncFMF, RecurrenceDescriptor &RedDes,
207 isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes,
H A DTargetTransformInfo.h61 class RecurrenceDescriptor; variable
1790 LLVM_ABI bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
H A DTargetTransformInfoImpl.h1062 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h266 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
306 const RecurrenceDescriptor &getRecurrenceDescriptor(PHINode *PN) const { in getRecurrenceDescriptor()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanRecipes.cpp746 (Instruction::BinaryOps)RecurrenceDescriptor::getOpcode( in generate()
758 assert(RecurrenceDescriptor::isFindIVRecurrenceKind(RK) && in generate()
768 bool IsSigned = RecurrenceDescriptor::isSignedRecurrenceKind(RK); in generate()
769 if (RecurrenceDescriptor::isFindLastIVRecurrenceKind(RK)) in generate()
789 assert(!RecurrenceDescriptor::isFindIVRecurrenceKind(RK) && in generate()
811 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(RK)) in generate()
815 (Instruction::BinaryOps)RecurrenceDescriptor::getOpcode(RK), in generate()
2492 assert(!RecurrenceDescriptor::isAnyOfRecurrenceKind(Kind) && in execute()
2518 (Instruction::BinaryOps)RecurrenceDescriptor::getOpcode(Kind), in execute()
2525 if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind)) in execute()
[all …]
H A DLoopVectorizationLegality.cpp834 RecurrenceDescriptor RedDes; in canVectorizeInstrs()
835 if (RecurrenceDescriptor::isReductionPHI(Phi, TheLoop, RedDes, DB, AC, in canVectorizeInstrs()
877 if (RecurrenceDescriptor::isFixedOrderRecurrence(Phi, TheLoop, DT)) { in canVectorizeInstrs()
1325 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeFPMath()
1332 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantStoreOfReduction()
1339 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantAddressOfReduction()
H A DLoopVectorize.cpp996 bool useOrderedReductions(const RecurrenceDescriptor &RdxDesc) const { in useOrderedReductions()
1241 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeReductions()
2604 if (RecurrenceDescriptor::isFMulAddIntrinsic(CI)) in getVectorCallCost()
4529 const RecurrenceDescriptor &RdxDesc = PhiDescriptorPair.second; in getSmallestAndWidestTypes()
4571 const RecurrenceDescriptor &RdxDesc = in collectElementTypesForWidening()
4814 const RecurrenceDescriptor &RdxDesc = Reduction.second; in selectInterleaveCount()
4816 return RecurrenceDescriptor::isAnyOfRecurrenceKind(RK) || in selectInterleaveCount()
4817 RecurrenceDescriptor::isFindIVRecurrenceKind(RK); in selectInterleaveCount()
4832 const RecurrenceDescriptor &RdxDesc = Reduction.second; in selectInterleaveCount()
5371 const RecurrenceDescriptor &RdxDesc = in getReductionPatternCost()
[all …]
H A DVPlanTransforms.cpp2890 RecurrenceDescriptor::getOpcode(Red->getRecurrenceKind()), in tryToMatchAndCreateExtendedReduction()
2912 unsigned Opcode = RecurrenceDescriptor::getOpcode(Red->getRecurrenceKind()); in tryToMatchAndCreateMulAccumulateReduction()
H A DVPlan.h56 class RecurrenceDescriptor; variable
H A DSLPVectorizer.cpp20727 if (!RecurrenceDescriptor::isIntMinMaxRecurrenceKind(::getRdxKind(V))) { in computeMinimumValueSizes()
21767 RecurrenceDescriptor::isMinMaxRecurrenceKind(getRdxKind(I)); in isCmpSelMinMax()
21785 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(Kind) || in isVectorizable()
21827 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(Kind); in createOp()
21836 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(Kind); in createOp()
21845 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(Kind); in createOp()
21886 if (RecurrenceDescriptor::isIntMinMaxRecurrenceKind(RdxKind)) { in createOp()
23009 unsigned RdxOpcode = RecurrenceDescriptor::getOpcode(RdxKind); in getReductionCost()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp1132 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getOrderedReduction()
1167 assert(RecurrenceDescriptor::isMinMaxRecurrenceKind(RdxKind) && in getShuffleReduction()
1233 bool IsSigned = RecurrenceDescriptor::isSignedRecurrenceKind(RdxKind); in createFindLastIVReduction()
1234 bool IsMaxRdx = RecurrenceDescriptor::isFindLastIVRecurrenceKind(RdxKind); in createFindLastIVReduction()
1334 assert(!RecurrenceDescriptor::isAnyOfRecurrenceKind(Kind) && in createSimpleReduction()
1335 !RecurrenceDescriptor::isFindIVRecurrenceKind(Kind) && in createSimpleReduction()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp821 RecurrenceDescriptor RD; in findInnerReductionPhi()
822 if (RecurrenceDescriptor::isReductionPHI(PHI, L, RD)) { in findInnerReductionPhi()
863 unsigned OpCode = RecurrenceDescriptor::getOpcode(RK); in findInnerReductionPhi()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.h356 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.h433 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
H A DAArch64TargetTransformInfo.cpp5086 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()