Lines Matching defs:VPBB

63   void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB);
64 void setRegionPredsFromBB(VPRegionBlock *VPBB, BasicBlock *BB);
71 void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB);
82 // Set predecessors of \p VPBB in the same order as they are in \p BB. \p VPBB
84 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) {
98 assert(VPBB == cast<VPBasicBlock>(PredRegion->getSingleSuccessor()) &&
99 "successor must already be set for PredRegion; it must have VPBB "
101 VPBB->setPredecessors({PredRegion});
104 // Collect VPBB predecessors.
108 VPBB->setPredecessors(VPBBPreds);
155 static bool isHeaderVPBB(VPBasicBlock *VPBB) {
156 return VPBB->getParent() && VPBB->getParent()->getEntry() == VPBB;
177 if (auto *VPBB = BB2VPBB.lookup(BB)) {
178 // Retrieve existing VPBB.
179 return VPBB;
182 // Create new VPBB.
185 VPBasicBlock *VPBB = new VPBasicBlock(Name);
186 BB2VPBB[BB] = VPBB;
191 return VPBB;
197 VPBB->setParent(RegionOfVPBB);
198 return VPBB;
210 RegionOfVPBB->setEntry(VPBB);
212 return VPBB;
283 void PlainCFGBuilder::createVPInstructionsForVPBB(VPBasicBlock *VPBB,
285 VPIRBuilder.setInsertPoint(VPBB);
312 VPBB->appendRecipe(cast<VPWidenPHIRecipe>(NewVPV));
336 // latch/exiting VPBB's of top-level region have yet to be created.
368 // block after having visited its predecessor basic blocks. Create a VPBB for
388 VPBasicBlock *VPBB = getOrCreateVPBB(BB);
389 VPRegionBlock *Region = VPBB->getParent();
390 createVPInstructionsForVPBB(VPBB, BB);
392 // Set VPBB predecessors in the same order as they are in the incoming BB.
394 setVPBBPredsFromBB(VPBB, BB);
398 assert(isHeaderVPBB(VPBB) && "isHeaderBB and isHeaderVPBB disagree");
403 // Set VPBB successors. We create empty VPBBs for successors if they don't
410 VPBB->setOneSuccessor(isHeaderVPBB(Successor)
418 // representing the condition bit in VPlan (which may be in another VPBB).
424 VPBB->setTwoSuccessors(Successor0, Successor1);
428 // of VPBB and it should be set to the exit, i.e., non-header successor,
434 Region->setExiting(VPBB);