Home
last modified time | relevance | path

Searched refs:VPRegionBlock (Results 1 – 14 of 14) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanVerifier.cpp53 bool verifyBlocksInRegion(const VPRegionBlock *Region);
57 bool verifyRegion(const VPRegionBlock *Region);
61 bool verifyRegionRec(const VPRegionBlock *Region);
389 bool VPlanVerifier::verifyBlocksInRegion(const VPRegionBlock *Region) { in verifyBlocksInRegion()
403 bool VPlanVerifier::verifyRegion(const VPRegionBlock *Region) { in verifyRegion()
420 bool VPlanVerifier::verifyRegionRec(const VPRegionBlock *Region) { in verifyRegionRec()
425 const auto *SubRegion = dyn_cast<VPRegionBlock>(VPB); in verifyRegionRec()
435 const VPRegionBlock *TopRegion = Plan.getVectorLoopRegion(); in verify()
H A DVPlan.cpp162 while (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getEntryBasicBlock()
169 while (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getEntryBasicBlock()
182 while (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getExitingBasicBlock()
189 while (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getExitingBasicBlock()
554 auto *R = dyn_cast_or_null<VPRegionBlock>(BB); in execute()
636 VPRegionBlock *VPBasicBlock::getEnclosingLoopRegion() { in getEnclosingLoopRegion()
640 const VPRegionBlock *VPBasicBlock::getEnclosingLoopRegion() const { in getEnclosingLoopRegion()
786 VPRegionBlock *VPRegionBlock::clone() { in clone()
795 void VPRegionBlock::execute(VPTransformState *State) { in execute()
843 InstructionCost VPRegionBlock::cost(ElementCount VF, VPCostContext &Ctx) { in cost()
[all …]
H A DVPlanSLP.h26 class VPRegionBlock; variable
42 void visitRegion(VPRegionBlock *Region, Old2NewTy &Old2New,
H A DVPlanTransforms.cpp130 for (VPRegionBlock *VPR : VPBlockUtils::blocksOnly<VPRegionBlock>(Iter)) { in sinkScalarOperands()
213 VPValue *getPredicatedMask(VPRegionBlock *R) { in getPredicatedMask()
223 static VPBasicBlock *getPredicatedThenBlock(VPRegionBlock *R) { in getPredicatedThenBlock()
246 SmallPtrSet<VPRegionBlock *, 4> TransformedRegions; in mergeReplicateRegionsIntoSuccessors()
251 SmallVector<VPRegionBlock *, 8> WorkList; in mergeReplicateRegionsIntoSuccessors()
252 for (VPRegionBlock *Region1 : VPBlockUtils::blocksOnly<VPRegionBlock>( in mergeReplicateRegionsIntoSuccessors()
262 dyn_cast_or_null<VPRegionBlock>(MiddleBasicBlock->getSingleSuccessor()); in mergeReplicateRegionsIntoSuccessors()
276 for (VPRegionBlock *Region1 : WorkList) { in mergeReplicateRegionsIntoSuccessors()
280 auto *Region2 = cast<VPRegionBlock>(MiddleBasicBlock->getSingleSuccessor()); in mergeReplicateRegionsIntoSuccessors()
334 static VPRegionBlock *createReplicateRegion(VPReplicateRecipe *PredRecipe, in createReplicateRegion()
[all …]
H A DVPlan.h62 class VPRegionBlock; variable
91 VPRegionBlock *Parent = nullptr;
173 VPRegionBlock *getParent() { return Parent; } in getParent()
174 const VPRegionBlock *getParent() const { return Parent; } in getParent()
184 void setParent(VPRegionBlock *P) { Parent = P; } in setParent()
3659 VPRegionBlock *getEnclosingLoopRegion();
3660 const VPRegionBlock *getEnclosingLoopRegion() const;
3750 class LLVM_ABI_FOR_TEST VPRegionBlock : public VPBlockBase {
3765 VPRegionBlock(VPBlockBase *Entry, VPBlockBase *Exiting,
3774 VPRegionBlock(const std::string &Name = "", bool IsReplicator = false)
[all …]
H A DVPlanCFG.h56 if (auto *R = dyn_cast<VPRegionBlock>(Block)) { in deref()
81 if (auto *R = dyn_cast<VPRegionBlock>(Block)) { in end()
H A DVPlanSLP.cpp45 void VPInterleavedAccessInfo::visitRegion(VPRegionBlock *Region, in visitRegion()
85 } else if (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) { in visitBlock()
H A DVPlanHelpers.h40 class VPRegionBlock; variable
442 void dumpRegion(const VPRegionBlock *Region);
H A DVPlanUnroll.cpp54 void unrollReplicateRegionByUF(VPRegionBlock *VPR);
127 void UnrollState::unrollReplicateRegionByUF(VPRegionBlock *VPR) { in unrollReplicateRegionByUF()
327 auto *VPR = dyn_cast<VPRegionBlock>(VPB); in unrollBlock()
H A DVPlanUtils.h63 const VPRegionBlock *RegionOfR = Rep->getParent()->getParent(); in isSingleScalar()
H A DVPlanAnalysis.cpp374 auto GetReplicateRegion = [](VPRecipeBase *R) -> VPRegionBlock * { in properlyDominates()
375 auto *Region = dyn_cast_or_null<VPRegionBlock>(R->getParent()->getParent()); in properlyDominates()
H A DVPlanPredicator.cpp265 VPRegionBlock *LoopRegion = Plan.getVectorLoopRegion(); in introduceMasksAndLinearize()
H A DVPlanConstruction.cpp589 VPRegionBlock *TopRegion = Plan.getVectorLoopRegion(); in createLoopRegions()
665 VPRegionBlock *LoopRegion = Plan.getVectorLoopRegion(); in handleMaxMinNumReductions()
H A DLoopVectorize.cpp4224 return any_of(VPBlockUtils::blocksOnly<VPRegionBlock>(vp_depth_first_shallow( in hasReplicatorRegion()
4278 VPRegionBlock *VectorRegion = P->getVectorLoopRegion(); in selectVectorizationFactor()
8198 [[maybe_unused]] VPRegionBlock *LoopRegionOf = in tryToCreateWidenRecipe()
8402 VPRegionBlock *VectorRegion = Plan.getVectorLoopRegion(); in addScalarResumePhis()
8499 VPRegionBlock *VectorRegion = Plan.getVectorLoopRegion(); in addExitUsersForFirstOrderRecurrences()
8704 VPRegionBlock *LoopRegion = Plan->getVectorLoopRegion(); in tryToBuildVPlanWithVPRecipes()
8790 assert(isa<VPRegionBlock>(Plan->getVectorLoopRegion()) && in tryToBuildVPlanWithVPRecipes()
8977 VPRegionBlock *VectorLoopRegion = Plan->getVectorLoopRegion(); in adjustRecipesForReductions()
9743 VPRegionBlock *VectorLoop = Plan.getVectorLoopRegion(); in preparePlanForEpilogueVectorLoop()