Lines Matching refs:BB
63 void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB);
64 void setRegionPredsFromBB(VPRegionBlock *VPBB, BasicBlock *BB);
66 VPBasicBlock *getOrCreateVPBB(BasicBlock *BB);
71 void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB);
84 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) { in setVPBBPredsFromBB() argument
85 auto GetLatchOfExit = [this](BasicBlock *BB) -> BasicBlock * { in setVPBBPredsFromBB() argument
86 auto *SinglePred = BB->getSinglePredecessor(); in setVPBBPredsFromBB()
87 Loop *LoopForBB = LI->getLoopFor(BB); in setVPBBPredsFromBB()
96 if (auto *LatchBB = GetLatchOfExit(BB)) { in setVPBBPredsFromBB()
106 for (BasicBlock *Pred : predecessors(BB)) in setVPBBPredsFromBB()
111 static bool isHeaderBB(BasicBlock *BB, Loop *L) { in isHeaderBB() argument
112 return L && BB == L->getHeader(); in isHeaderBB()
116 BasicBlock *BB) { in setRegionPredsFromBB() argument
118 Loop *LoopOfBB = LI->getLoopFor(BB); in setRegionPredsFromBB()
176 VPBasicBlock *PlainCFGBuilder::getOrCreateVPBB(BasicBlock *BB) { in getOrCreateVPBB() argument
177 if (auto *VPBB = BB2VPBB.lookup(BB)) { in getOrCreateVPBB()
183 StringRef Name = isHeaderBB(BB, TheLoop) ? "vector.body" : BB->getName(); in getOrCreateVPBB()
186 BB2VPBB[BB] = VPBB; in getOrCreateVPBB()
189 Loop *LoopOfBB = LI->getLoopFor(BB); in getOrCreateVPBB()
194 if (!isHeaderBB(BB, LoopOfBB)) { in getOrCreateVPBB()
284 BasicBlock *BB) { in createVPInstructionsForVPBB() argument
286 for (Instruction &InstRef : BB->instructionsWithoutDebug(false)) { in createVPInstructionsForVPBB()
371 for (BasicBlock *BB : RPO) { in buildPlainCFG()
374 VPBasicBlock *VPBB = getOrCreateVPBB(BB); in buildPlainCFG()
376 createVPInstructionsForVPBB(VPBB, BB); in buildPlainCFG()
377 Loop *LoopForBB = LI->getLoopFor(BB); in buildPlainCFG()
379 if (!isHeaderBB(BB, LoopForBB)) { in buildPlainCFG()
380 setVPBBPredsFromBB(VPBB, BB); in buildPlainCFG()
386 setRegionPredsFromBB(Region, BB); in buildPlainCFG()
392 auto *BI = cast<BranchInst>(BB->getTerminator()); in buildPlainCFG()
393 unsigned NumSuccs = succ_size(BB); in buildPlainCFG()
395 auto *Successor = getOrCreateVPBB(BB->getSingleSuccessor()); in buildPlainCFG()
409 if (!LoopForBB || BB != LoopForBB->getLoopLatch()) { in buildPlainCFG()