| /llvm-project-15.0.7/llvm/unittests/Transforms/Vectorize/ |
| H A D | VPlanTest.cpp | 241 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 D | VPlanSlpTest.cpp | 102 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 D | VPlanHCFGTest.cpp | 44 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 D | VPlanTestBase.h | 79 VPBasicBlock *EntryVPBB = HCFGBuilder.buildPlainCFG(); in buildPlainCFG()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanHCFGBuilder.cpp | 52 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 D | LoopVectorizationPlanner.h | 44 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 D | VPlanTransforms.cpp | 29 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 D | VPlan.cpp | 143 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 D | VPlanVerifier.cpp | 52 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 D | VPlan.h | 61 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 D | VPRecipeBuilder.h | 170 VPBasicBlock *handleReplication( 171 Instruction *I, VFRange &Range, VPBasicBlock *VPBB,
|
| H A D | VPlanHCFGBuilder.h | 62 VPBasicBlock *buildPlainCFG();
|
| H A D | VPlanValue.h | 49 friend class VPBasicBlock; variable 433 class VPBasicBlock; variable
|
| H A D | LoopVectorize.cpp | 1050 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 D | VPlanRecipes.cpp | 149 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 D | VPlanSLP.cpp | 114 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable()
|
| /llvm-project-15.0.7/llvm/docs/Proposals/ |
| H A D | VectorizationPlan.rst | 117 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
|