Home
last modified time | relevance | path

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

/llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/
H A DVPlanVerifier.cpp45 static void verifyBlocksInRegion(const VPRegionBlock *Region) { in verifyBlocksInRegion()
98 static void verifyRegion(const VPRegionBlock *Region) { in verifyRegion()
114 static void verifyRegionRec(const VPRegionBlock *Region) { in verifyRegionRec()
121 if (const auto *SubRegion = dyn_cast<VPRegionBlock>(VPB)) in verifyRegionRec()
127 const VPRegionBlock *TopRegion) const { in verifyHierarchicalCFG()
238 const VPRegionBlock *TopRegion = Plan.getVectorLoopRegion(); in verifyPlanIsValid()
271 for (const VPRegionBlock *Region : in verifyPlanIsValid()
272 VPBlockUtils::blocksOnly<const VPRegionBlock>( in verifyPlanIsValid()
H A DVPlan.cpp141 while (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getEntryBasicBlock()
148 while (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getEntryBasicBlock()
162 while (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getExitingBasicBlock()
169 while (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in getExitingBasicBlock()
322 auto *R = dyn_cast<VPRegionBlock>(BB); in execute()
417 VPRegionBlock *VPBasicBlock::getEnclosingLoopRegion() { in getEnclosingLoopRegion()
418 VPRegionBlock *P = getParent(); in getEnclosingLoopRegion()
421 assert(!cast<VPRegionBlock>(P)->isReplicator() && in getEnclosingLoopRegion()
506 void VPRegionBlock::execute(VPTransformState *State) { in execute()
875 else if (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block)) in dumpBlock()
[all …]
H A DVPlanVerifier.h28 class VPRegionBlock; variable
38 void verifyHierarchicalCFG(const VPRegionBlock *TopRegion) const;
H A DVPlanTransforms.cpp186 VPValue *getPredicatedMask(VPRegionBlock *R) { in getPredicatedMask()
196 static VPBasicBlock *getPredicatedThenBlock(VPRegionBlock *R) { in getPredicatedThenBlock()
216 SetVector<VPRegionBlock *> DeletedRegions; in mergeReplicateRegions()
221 SmallVector<VPRegionBlock *, 8> CandidateRegions( in mergeReplicateRegions()
222 VPBlockUtils::blocksOnly<VPRegionBlock>(depth_first( in mergeReplicateRegions()
228 for (VPRegionBlock *Region1 : CandidateRegions) { in mergeReplicateRegions()
237 dyn_cast_or_null<VPRegionBlock>(MiddleBasicBlock->getSingleSuccessor()); in mergeReplicateRegions()
294 for (VPRegionBlock *ToDelete : DeletedRegions) in mergeReplicateRegions()
H A DVPlanHCFGBuilder.cpp60 DenseMap<Loop *, VPRegionBlock *> Loop2Region;
122 VPRegionBlock *ParentR = nullptr; in getOrCreateVPBB()
126 Iter.first->second = new VPRegionBlock( in getOrCreateVPBB()
347 VPRegionBlock *Region = Loop2Region[L]; in buildPlainCFG()
390 VPRegionBlock *TopRegion = Plan.getVectorLoopRegion(); in buildHierarchicalCFG()
H A DVPlan.h62 class VPRegionBlock; variable
395 VPRegionBlock *Parent = nullptr;
2108 VPRegionBlock *getEnclosingLoopRegion();
2143 class VPRegionBlock : public VPBlockBase {
2169 ~VPRegionBlock() override { in ~VPRegionBlock()
2307 using GraphRef = VPRegionBlock *;
2324 struct GraphTraits<const VPRegionBlock *>
2326 using GraphRef = const VPRegionBlock *;
2343 struct GraphTraits<Inverse<VPRegionBlock *>>
2345 using GraphRef = VPRegionBlock *;
[all …]
H A DVPlanHCFGBuilder.h34 class VPRegionBlock; variable
H A DVPRecipeBuilder.h161 VPRegionBlock *createReplicateRegion(VPReplicateRecipe *PredRecipe,
H A DVPlanRecipes.cpp302 VPRegionBlock *ParentRegion = getParent()->getParent(); in generateInstruction()
328 VPRegionBlock *TopRegion = Plan->getVectorLoopRegion(); in generateInstruction()
1174 VPRegionBlock *LoopRegion = Parent->getEnclosingLoopRegion(); in execute()
H A DLoopVectorize.cpp8438 VPRegionBlock *
8465 VPRegionBlock *Region = new VPRegionBlock(Entry, Exiting, RegionName, true); in createReplicateRegion()
8600 VPRegionBlock *TopRegion = Plan.getVectorLoopRegion(); in addCanonicalIVRecipes()
8759 auto *TopRegion = new VPRegionBlock(HeaderVPBB, LatchVPBB, "vector loop"); in buildVPlanWithVPRecipes()
8873 assert(isa<VPRegionBlock>(Plan->getVectorLoopRegion()) && in buildVPlanWithVPRecipes()
8885 auto GetReplicateRegion = [](VPRecipeBase *R) -> VPRegionBlock * { in buildVPlanWithVPRecipes()
8886 auto *Region = dyn_cast_or_null<VPRegionBlock>(R->getParent()->getParent()); in buildVPlanWithVPRecipes()
10376 VPRegionBlock *VectorLoop = BestEpiPlan.getVectorLoopRegion(); in processLoop()
/llvm-project-15.0.7/llvm/unittests/Transforms/Vectorize/
H A DVPlanTest.cpp269 VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB2, "R1"); in TEST()
283 VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB2, "R1"); in TEST()
300 VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB2, "R1"); in TEST()
305 VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB2, "R2"); in TEST()
380 VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB4, "R1"); in TEST()
392 VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB2, "R2"); in TEST()
471 VPRegionBlock *R1 = new VPRegionBlock(R1BB1, R1BB3, "R1"); in TEST()
476 VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R2BB3, "R2"); in TEST()
545 VPRegionBlock *R1 = new VPRegionBlock(R2, R2, "R1"); in TEST()
599 VPRegionBlock *R2 = new VPRegionBlock(R2BB1, R3, "R2"); in TEST()
[all …]
/llvm-project-15.0.7/llvm/docs/Proposals/
H A DVectorizationPlan.rst117 VPBasicBlock and VPRegionBlock, see below. VPBlockBase models the hierarchical
131 :VPRegionBlock:
132 VPRegionBlock is a subclass of VPBlockBase. It models a collection of
134 CFG. A VPRegionBlock may indicate that its contents are to be replicated a