Home
last modified time | relevance | path

Searched refs:RdxDesc (Results 1 – 11 of 11) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanRecipes.cpp554 const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor(); in generatePerPart() local
556 RecurKind RK = RdxDesc.getRecurrenceKind(); in generatePerPart()
568 if (State.VF.isVector() && PhiTy != RdxDesc.getRecurrenceType()) { in generatePerPart()
569 Type *RdxVecTy = VectorType::get(RdxDesc.getRecurrenceType(), State.VF); in generatePerPart()
584 Builder.setFastMathFlags(RdxDesc.getFastMathFlags()); in generatePerPart()
601 createTargetReduction(Builder, RdxDesc, ReducedPartRdx, OrigPhi); in generatePerPart()
604 if (PhiTy != RdxDesc.getRecurrenceType()) in generatePerPart()
605 ReducedPartRdx = RdxDesc.isSigned() in generatePerPart()
612 if (StoreInst *SI = RdxDesc.IntermediateStore) { in generatePerPart()
1704 RecurKind Kind = RdxDesc.getRecurrenceKind(); in execute()
[all …]
H A DLoopVectorize.cpp1103 bool useOrderedReductions(const RecurrenceDescriptor &RdxDesc) const { in useOrderedReductions()
1104 return !Hints->allowReordering() && RdxDesc.isOrdered(); in useOrderedReductions()
1337 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeReductions() local
1338 return TTI.isLegalToVectorizeReduction(RdxDesc, VF); in canVectorizeReductions()
4763 const RecurrenceDescriptor &RdxDesc = PhiDescriptorPair.second; in getSmallestAndWidestTypes() local
4768 RdxDesc.getMinWidthCastToRecurrenceTypeInBits(), in getSmallestAndWidestTypes()
4769 RdxDesc.getRecurrenceType()->getScalarSizeInBits())); in getSmallestAndWidestTypes()
4803 const RecurrenceDescriptor &RdxDesc = in collectElementTypesForWidening() local
4805 if (PreferInLoopReductions || useOrderedReductions(RdxDesc) || in collectElementTypesForWidening()
4806 TTI.preferInLoopReduction(RdxDesc.getOpcode(), in collectElementTypesForWidening()
[all …]
H A DLoopVectorizationLegality.cpp1182 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeFPMath() local
1183 return !RdxDesc.hasExactFPMath() || RdxDesc.isOrdered(); in canVectorizeFPMath()
1189 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantStoreOfReduction() local
1190 return RdxDesc.IntermediateStore == SI; in isInvariantStoreOfReduction()
1196 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantAddressOfReduction() local
1197 if (!RdxDesc.IntermediateStore) in isInvariantAddressOfReduction()
1201 Value *InvariantAddress = RdxDesc.IntermediateStore->getPointerOperand(); in isInvariantAddressOfReduction()
H A DVPlan.h1968 const RecurrenceDescriptor &RdxDesc; variable
1979 VPReductionPHIRecipe(PHINode *Phi, const RecurrenceDescriptor &RdxDesc,
1983 RdxDesc(RdxDesc), IsInLoop(IsInLoop), IsOrdered(IsOrdered) {
1991 new VPReductionPHIRecipe(cast<PHINode>(getUnderlyingInstr()), RdxDesc, in clone()
2013 return RdxDesc; in getRecurrenceDescriptor()
2175 const RecurrenceDescriptor &RdxDesc; variable
2184 : VPSingleDefRecipe(SC, Operands, I), RdxDesc(R), IsOrdered(IsOrdered) { in VPReductionRecipe()
2202 return new VPReductionRecipe(RdxDesc, getUnderlyingInstr(), getChainOp(), in clone()
2227 return RdxDesc; in getRecurrenceDescriptor()
H A DVPlanTransforms.cpp977 const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor(); in clearReductionWrapFlags() local
978 RecurKind RK = RdxDesc.getRecurrenceKind(); in clearReductionWrapFlags()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.h304 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction() argument
309 Type *Ty = RdxDesc.getRecurrenceType(); in isLegalToVectorizeReduction()
313 switch (RdxDesc.getRecurrenceKind()) { in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.h386 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
H A DAArch64TargetTransformInfo.cpp3784 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction() argument
3788 Type *Ty = RdxDesc.getRecurrenceType(); in isLegalToVectorizeReduction()
3792 switch (RdxDesc.getRecurrenceKind()) { in isLegalToVectorizeReduction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfo.h1660 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
2162 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
2893 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction() argument
2895 return Impl.isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()
H A DTargetTransformInfoImpl.h906 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction() argument
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DTargetTransformInfo.cpp1271 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction() argument
1272 return TTIImpl->isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()