Lines Matching defs:InitBB

405 MustBeExecutedContextExplorer::findForwardJoinPoint(const BasicBlock *InitBB) {
406 const LoopInfo *LI = LIGetter(*InitBB->getParent());
407 const PostDominatorTree *PDT = PDTGetter(*InitBB->getParent());
409 LLVM_DEBUG(dbgs() << "\tFind forward join point for " << InitBB->getName()
412 const Function &F = *InitBB->getParent();
413 const Loop *L = LI ? LI->getLoopFor(InitBB) : nullptr;
414 const BasicBlock *HeaderBB = L ? L->getHeader() : InitBB;
425 for (const BasicBlock *SuccBB : successors(InitBB)) {
447 if (const auto *InitNode = PDT->getNode(InitBB))
456 if (Succ0UniqueSucc == InitBB) {
457 // InitBB -> Succ0 -> InitBB
458 // InitBB -> Succ1 = JoinBB
460 } else if (Succ1UniqueSucc == InitBB) {
461 // InitBB -> Succ1 -> InitBB
462 // InitBB -> Succ0 = JoinBB
465 // InitBB -> Succ0 = JoinBB
466 // InitBB -> Succ1 -> Succ0 = JoinBB
469 // InitBB -> Succ0 -> Succ1 = JoinBB
470 // InitBB -> Succ1 = JoinBB
473 // InitBB -> Succ0 -> JoinBB
474 // InitBB -> Succ1 -> JoinBB
488 // InitBB, thus it can not be "stopped" along the way. Ways to "stop" control
541 MustBeExecutedContextExplorer::findBackwardJoinPoint(const BasicBlock *InitBB) {
542 const LoopInfo *LI = LIGetter(*InitBB->getParent());
543 const DominatorTree *DT = DTGetter(*InitBB->getParent());
544 LLVM_DEBUG(dbgs() << "\tFind backward join point for " << InitBB->getName()
551 if (const auto *InitNode = DT->getNode(InitBB))
555 const Loop *L = LI ? LI->getLoopFor(InitBB) : nullptr;
560 for (const BasicBlock *PredBB : predecessors(InitBB)) {
562 (PredBB == InitBB) || (HeaderBB == InitBB && L->contains(PredBB));
584 // InitBB <- Pred0 = JoinBB
585 // InitBB <- Pred1 <- Pred0 = JoinBB
588 // InitBB <- Pred0 <- Pred1 = JoinBB
589 // InitBB <- Pred1 = JoinBB
592 // InitBB <- Pred0 <- JoinBB
593 // InitBB <- Pred1 <- JoinBB