| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 31 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 D | TargetTransformInfo.cpp | 1374 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | IVDescriptors.h | 88 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 D | TargetTransformInfo.h | 61 class RecurrenceDescriptor; variable 1790 LLVM_ABI bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
|
| H A D | TargetTransformInfoImpl.h | 1062 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.h | 266 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>; 306 const RecurrenceDescriptor &getRecurrenceDescriptor(PHINode *PN) const { in getRecurrenceDescriptor()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanRecipes.cpp | 746 (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 D | LoopVectorizationLegality.cpp | 834 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 D | LoopVectorize.cpp | 996 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 D | VPlanTransforms.cpp | 2890 RecurrenceDescriptor::getOpcode(Red->getRecurrenceKind()), in tryToMatchAndCreateExtendedReduction() 2912 unsigned Opcode = RecurrenceDescriptor::getOpcode(Red->getRecurrenceKind()); in tryToMatchAndCreateMulAccumulateReduction()
|
| H A D | VPlan.h | 56 class RecurrenceDescriptor; variable
|
| H A D | SLPVectorizer.cpp | 20727 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 D | LoopUtils.cpp | 1132 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 D | LoopInterchange.cpp | 821 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 D | RISCVTargetTransformInfo.h | 356 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.h | 433 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
|
| H A D | AArch64TargetTransformInfo.cpp | 5086 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
|