Lines Matching defs:PredBB
783 BasicBlock *PredBB = DestBB->getSinglePredecessor();
784 assert(PredBB && "Block doesn't have a single predecessor!");
786 bool ReplaceEntryBB = PredBB->isEntryBlock();
789 // PredBB. These dominator edges will be redirected to DestBB.
795 Updates.reserve(Updates.size() + 2 * pred_size(PredBB) + 1);
796 for (BasicBlock *PredOfPredBB : predecessors(PredBB))
797 // This predecessor of PredBB may already have DestBB as a successor.
798 if (PredOfPredBB != PredBB)
802 for (BasicBlock *PredOfPredBB : predecessors(PredBB))
804 Updates.push_back({DominatorTree::Delete, PredOfPredBB, PredBB});
805 Updates.push_back({DominatorTree::Delete, PredBB, DestBB});
819 // Anything that branched to PredBB now branches to DestBB.
820 PredBB->replaceAllUsesWith(DestBB);
822 // Splice all the instructions from PredBB to DestBB.
823 PredBB->getTerminator()->eraseFromParent();
824 DestBB->splice(DestBB->begin(), PredBB);
825 new UnreachableInst(PredBB->getContext(), PredBB);
827 // If the PredBB is the entry block of the function, move DestBB up to
828 // become the entry block after we erase PredBB.
830 DestBB->moveAfter(PredBB);
833 assert(PredBB->size() == 1 &&
834 isa<UnreachableInst>(PredBB->getTerminator()) &&
835 "The successor list of PredBB isn't empty before "
838 DTU->deleteBB(PredBB);
850 PredBB->eraseFromParent(); // Nuke BB if DTU is nullptr.
1087 BasicBlock *PredBB = OldValPN->getIncomingBlock(i);
1089 if (PredBB == CommonPred)
1094 selectIncomingValueForBlock(PredVal, PredBB, IncomingValues);
1098 PN->addIncoming(Selected, PredBB);
1104 for (BasicBlock *PredBB : BBPreds) {
1107 if (PredBB == CommonPred)
1111 selectIncomingValueForBlock(OldVal, PredBB, IncomingValues);
1115 PN->addIncoming(Selected, PredBB);