Home
last modified time | relevance | path

Searched refs:VPBasicBlock (Results 1 – 17 of 17) sorted by relevance

/llvm-project-15.0.7/llvm/unittests/Transforms/Vectorize/
H A DVPlanTest.cpp241 VPBasicBlock *VPBB1 = new VPBasicBlock(); in TEST()
242 VPBasicBlock *VPBB2 = new VPBasicBlock(); in TEST()
243 VPBasicBlock *VPBB3 = new VPBasicBlock(); in TEST()
244 VPBasicBlock *VPBB4 = new VPBasicBlock(); in TEST()
267 VPBasicBlock *R1BB1 = new VPBasicBlock(); in TEST()
268 VPBasicBlock *R1BB2 = new VPBasicBlock(); in TEST()
281 VPBasicBlock *R1BB1 = new VPBasicBlock(); in TEST()
282 VPBasicBlock *R1BB2 = new VPBasicBlock(); in TEST()
286 VPBasicBlock *VPBB1 = new VPBasicBlock(); in TEST()
298 VPBasicBlock *R1BB1 = new VPBasicBlock(); in TEST()
[all …]
H A DVPlanSlpTest.cpp102 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
174 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
246 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
310 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
322 VPBasicBlock *Body, in checkReorderExample()
447 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
519 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
591 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
667 VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
729 VPBasicBlock *BB2 = Body->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
[all …]
H A DVPlanHCFGTest.cpp44 VPBasicBlock *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F()
51 VPBasicBlock *VecBB = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
179 VPBasicBlock *VecBB = Entry->getSingleSuccessor()->getEntryBasicBlock(); in TEST_F()
H A DVPlanTestBase.h79 VPBasicBlock *EntryVPBB = HCFGBuilder.buildPlainCFG(); in buildPlainCFG()
/llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/
H A DVPlanHCFGBuilder.cpp52 DenseMap<BasicBlock *, VPBasicBlock *> BB2VPBB;
65 VPBasicBlock *getOrCreateVPBB(BasicBlock *BB);
78 VPBasicBlock *buildPlainCFG();
133 VPBasicBlock *VPBB = new VPBasicBlock(BB->getName()); in getOrCreateVPBB()
257 VPBasicBlock *PlainCFGBuilder::buildPlainCFG() { in buildPlainCFG()
288 VPBasicBlock *VPBB = getOrCreateVPBB(BB); in buildPlainCFG()
329 VPBasicBlock *LoopExitVPBB = BB2VPBB[LoopExitBB]; in buildPlainCFG()
348 VPBasicBlock *HeaderVPBB = getOrCreateVPBB(Header); in buildPlainCFG()
349 VPBasicBlock *ExitingVPBB = getOrCreateVPBB(Exiting); in buildPlainCFG()
378 VPBasicBlock *VPlanHCFGBuilder::buildPlainCFG() { in buildPlainCFG()
[all …]
H A DLoopVectorizationPlanner.h44 VPBasicBlock *BB = nullptr;
45 VPBasicBlock::iterator InsertPt = VPBasicBlock::iterator();
69 InsertPt = VPBasicBlock::iterator(); in clearInsertionPoint()
77 VPBasicBlock *Block = nullptr;
78 VPBasicBlock::iterator Point;
85 VPInsertPoint(VPBasicBlock *InsertBlock, VPBasicBlock::iterator InsertPoint) in VPInsertPoint()
91 VPBasicBlock *getBlock() const { return Block; } in getBlock()
105 void setInsertPoint(VPBasicBlock *TheBB) { in setInsertPoint()
113 void setInsertPoint(VPBasicBlock *TheBB, VPBasicBlock::iterator IP) { in setInsertPoint()
168 VPBasicBlock *Block;
[all …]
H A DVPlanTransforms.cpp29 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in VPInstructionsToVPRecipes()
110 SetVector<std::pair<VPBasicBlock *, VPValue *>> WorkList; in sinkScalarOperands()
111 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in sinkScalarOperands()
123 VPBasicBlock *SinkTo; in sinkScalarOperands()
187 auto *EntryBB = dyn_cast<VPBasicBlock>(R->getEntry()); in getPredicatedMask()
196 static VPBasicBlock *getPredicatedThenBlock(VPRegionBlock *R) { in getPredicatedThenBlock()
197 auto *EntryBB = cast<VPBasicBlock>(R->getEntry()); in getPredicatedThenBlock()
245 VPBasicBlock *Then1 = getPredicatedThenBlock(Region1); in mergeReplicateRegions()
246 VPBasicBlock *Then2 = getPredicatedThenBlock(Region2); in mergeReplicateRegions()
260 auto *Merge1 = cast<VPBasicBlock>(Then1->getSingleSuccessor()); in mergeReplicateRegions()
[all …]
H A DVPlan.cpp143 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
150 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
164 return cast<VPBasicBlock>(Block); in getExitingBasicBlock()
171 return cast<VPBasicBlock>(Block); in getExitingBasicBlock()
197 VPBasicBlock::iterator VPBasicBlock::getFirstNonPhi() { in getFirstNonPhi()
392 VPBasicBlock *VPBasicBlock::splitAt(iterator SplitAt) { in splitAt()
456 VPRecipeBase *VPBasicBlock::getTerminator() { in getTerminator()
468 bool VPBasicBlock::isExiting() const { in isExiting()
873 if (const VPBasicBlock *BasicBlock = dyn_cast<VPBasicBlock>(Block)) in dumpBlock()
1028 if (VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(Block)) { in visitBlock()
[all …]
H A DVPlanVerifier.cpp52 auto *VPBB = dyn_cast<VPBasicBlock>(VPB); in verifyBlocksInRegion()
137 verifyVPBasicBlock(const VPBasicBlock *VPBB, in verifyVPBasicBlock()
231 auto *VPBB = dyn_cast<VPBasicBlock>(VPB); in verifyPlanIsValid()
239 const VPBasicBlock *Entry = dyn_cast<VPBasicBlock>(TopRegion->getEntry()); in verifyPlanIsValid()
251 const VPBasicBlock *Exiting = dyn_cast<VPBasicBlock>(TopRegion->getExiting()); in verifyPlanIsValid()
H A DVPlan.h61 class VPBasicBlock; variable
327 VPBasicBlock *PrevVPBB = nullptr;
474 VPBasicBlock *getEntryBasicBlock();
480 VPBasicBlock *getExitingBasicBlock();
662 friend VPBasicBlock; variable
666 VPBasicBlock *Parent = nullptr;
2019 class VPBasicBlock : public VPBlockBase {
2034 ~VPBasicBlock() override { in ~VPBasicBlock()
2070 return &VPBasicBlock::Recipes; in getSublistAccess()
2213 VPBasicBlock *getPreheaderVPBB() { in getPreheaderVPBB()
[all …]
H A DVPRecipeBuilder.h170 VPBasicBlock *handleReplication(
171 Instruction *I, VFRange &Range, VPBasicBlock *VPBB,
H A DVPlanHCFGBuilder.h62 VPBasicBlock *buildPlainCFG();
H A DVPlanValue.h49 friend class VPBasicBlock; variable
433 class VPBasicBlock; variable
H A DLoopVectorize.cpp1050 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in collectPoisonGeneratingRecipes()
3719 VPBasicBlock *Header = in fixCrossIterationPHIs()
3872 VPBasicBlock *LatchVPBB = in fixReduction()
4151 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in fixNonInductionPHIs()
7609 VPBasicBlock *HeaderVPBB = in executePlan()
8028 VPBasicBlock *HeaderVPBB = in createBlockInMask()
8753 VPBasicBlock *Preheader = new VPBasicBlock("vector.ph"); in buildVPlanWithVPRecipes()
8756 VPBasicBlock *HeaderVPBB = new VPBasicBlock("vector.body"); in buildVPlanWithVPRecipes()
8757 VPBasicBlock *LatchVPBB = new VPBasicBlock("vector.latch"); in buildVPlanWithVPRecipes()
8761 VPBasicBlock *MiddleVPBB = new VPBasicBlock("middle.block"); in buildVPlanWithVPRecipes()
[all …]
H A DVPlanRecipes.cpp149 void VPRecipeBase::insertBefore(VPBasicBlock &BB, in insertBefore()
181 void VPRecipeBase::moveBefore(VPBasicBlock &BB, in moveBefore()
303 VPBasicBlock *Header = ParentRegion->getEntryBasicBlock(); in generateInstruction()
329 VPBasicBlock *Header = TopRegion->getEntry()->getEntryBasicBlock(); in generateInstruction()
1173 VPBasicBlock *Parent = getParent(); in execute()
H A DVPlanSLP.cpp114 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable()
/llvm-project-15.0.7/llvm/docs/Proposals/
H A DVectorizationPlan.rst117 VPBasicBlock and VPRegionBlock, see below. VPBlockBase models the hierarchical
123 :VPBasicBlock:
124 VPBasicBlock is a subclass of VPBlockBase, and serves as the leaves of the
127 basic-block originate from one or more VPBasicBlocks. VPBasicBlock holds a