Lines Matching defs:DestBB
319 BasicBlock *DestBB = IBI->getDestination(i);
320 DestBB->removePredecessor(ParentBB);
322 Updates.push_back({DominatorTree::Delete, ParentBB, DestBB});
706 void llvm::MergeBasicBlockIntoOnlyPred(BasicBlock *DestBB,
710 while (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) {
718 BasicBlock *PredBB = DestBB->getSinglePredecessor();
722 if (PredBB == &DestBB->getParent()->getEntryBlock())
726 // PredBB. These dominator edges will be redirected to DestBB.
730 Updates.push_back({DominatorTree::Delete, PredBB, DestBB});
733 // This predecessor of PredBB may already have DestBB as a successor.
734 if (llvm::find(successors(*I), DestBB) == succ_end(*I))
735 Updates.push_back({DominatorTree::Insert, *I, DestBB});
739 // Zap anything that took the address of DestBB. Not doing this will give the
741 if (DestBB->hasAddressTaken()) {
742 BlockAddress *BA = BlockAddress::get(DestBB);
750 // Anything that branched to PredBB now branches to DestBB.
751 PredBB->replaceAllUsesWith(DestBB);
753 // Splice all the instructions from PredBB to DestBB.
755 DestBB->getInstList().splice(DestBB->begin(), PredBB->getInstList());
758 // If the PredBB is the entry block of the function, move DestBB up to
761 DestBB->moveAfter(PredBB);
776 DTU->recalculate(*(DestBB->getParent()));