| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVTargetTransformInfo.h | 192 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction() argument 197 Type *Ty = RdxDesc.getRecurrenceType(); in isLegalToVectorizeReduction() 201 switch (RdxDesc.getRecurrenceKind()) { in isLegalToVectorizeReduction()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 1007 const RecurrenceDescriptor &RdxDesc = Reduction.second; in canVectorizeFPMath() local 1008 return !RdxDesc.hasExactFPMath() || RdxDesc.isOrdered(); in canVectorizeFPMath() 1014 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantStoreOfReduction() local 1015 return RdxDesc.IntermediateStore == SI; in isInvariantStoreOfReduction() 1021 const RecurrenceDescriptor &RdxDesc = Reduction.second; in isInvariantAddressOfReduction() local 1022 if (!RdxDesc.IntermediateStore) in isInvariantAddressOfReduction() 1026 Value *InvariantAddress = RdxDesc.IntermediateStore->getPointerOperand(); in isInvariantAddressOfReduction()
|
| H A D | LoopVectorize.cpp | 1084 const RecurrenceDescriptor &RdxDesc) { in getReductionResumeValue() argument 3903 RdxDesc.getOpcode(), PhiTy, in fixReduction() 3977 ReducedPartRdx = RdxDesc.isSigned() in fixReduction() 4169 const RecurrenceDescriptor &RdxDesc) { in useOrderedReductions() argument 5593 T = RdxDesc.getRecurrenceType(); in collectElementTypesForWidening() 5810 return RdxDesc.isOrdered(); in selectInterleaveCount() 6517 const RecurrenceDescriptor &RdxDesc = in getReductionPatternCost() local 6521 RdxDesc.getOpcode(), VectorTy, RdxDesc.getFastMathFlags(), CostKind); in getReductionPatternCost() 6532 if (useOrderedReductions(RdxDesc)) in getReductionPatternCost() 7345 unsigned Opcode = RdxDesc.getOpcode(); in collectInLoopReductions() [all …]
|
| H A D | VPlanRecipes.cpp | 832 O << " reduce." << Instruction::getOpcodeName(RdxDesc->getOpcode()) << " ("; in print() 839 if (RdxDesc->IntermediateStore) in print() 1120 RecurKind RK = RdxDesc.getRecurrenceKind(); in execute() 1133 Iden = RdxDesc.getRecurrenceIdentity(RK, VecTy->getScalarType(), in execute() 1134 RdxDesc.getFastMathFlags()); in execute()
|
| H A D | VPlan.h | 1315 const RecurrenceDescriptor &RdxDesc; variable 1326 VPReductionPHIRecipe(PHINode *Phi, const RecurrenceDescriptor &RdxDesc, 1330 RdxDesc(RdxDesc), IsInLoop(IsInLoop), IsOrdered(IsOrdered) { 1357 return RdxDesc; in getRecurrenceDescriptor() 1507 const RecurrenceDescriptor *RdxDesc; variable 1516 VPValue(VPValue::VPVReductionSC, I, this), RdxDesc(R), TTI(TTI) {
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.h | 356 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
|
| H A D | AArch64TargetTransformInfo.cpp | 2584 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction() argument 2588 Type *Ty = RdxDesc.getRecurrenceType(); in isLegalToVectorizeReduction() 2592 switch (RdxDesc.getRecurrenceKind()) { in isLegalToVectorizeReduction()
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | TargetTransformInfo.h | 1389 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 1822 virtual bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, 2428 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction() argument 2430 return Impl.isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()
|
| H A D | TargetTransformInfoImpl.h | 773 bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc, in isLegalToVectorizeReduction() argument
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | TargetTransformInfo.cpp | 1066 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction() argument 1067 return TTIImpl->isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()
|