reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Utils/BasicBlockUtils.cpp
  175   if (BB->hasAddressTaken())
  179   BasicBlock *PredBB = BB->getUniquePredecessor();
  183   if (PredBB == BB) return false;
  189   if (!PredecessorWithTwoSuccessors && PredBB->getUniqueSuccessor() != BB)
  200     BranchInst *BB_JmpI = dyn_cast<BranchInst>(BB->getTerminator());
  204     FallThruPath = PredBB_BI->getSuccessor(0) == BB ? 0 : 1;
  208   for (PHINode &PN : BB->phis())
  213   LLVM_DEBUG(dbgs() << "Merging: " << BB->getName() << " into "
  218   if (isa<PHINode>(BB->front())) {
  219     for (PHINode &PN : BB->phis())
  221           cast<PHINode>(PN.getIncomingValue(0))->getParent() != BB)
  223     FoldSingleEntryPHINodes(BB, MemDep);
  230     Updates.reserve(1 + (2 * succ_size(BB)));
  237     for (auto I = succ_begin(BB), E = succ_end(BB); I != E; ++I)
  237     for (auto I = succ_begin(BB), E = succ_end(BB); I != E; ++I)
  241     for (auto I = succ_begin(BB), E = succ_end(BB); I != E; ++I)
  241     for (auto I = succ_begin(BB), E = succ_end(BB); I != E; ++I)
  242       Updates.push_back({DominatorTree::Delete, BB, *I});
  243     Updates.push_back({DominatorTree::Delete, PredBB, BB});
  247   Instruction *STI = BB->getTerminator();
  248   Instruction *Start = &*BB->begin();
  255   PredBB->getInstList().splice(PTI->getIterator(), BB->getInstList(),
  256                                BB->begin(), STI->getIterator());
  259     MSSAU->moveAllAfterMergeBlocks(BB, PredBB, Start);
  263   BB->replaceAllUsesWith(PredBB);
  267     BB->getInstList().pop_back();
  276     PredBB->getInstList().splice(PredBB->end(), BB->getInstList());
  279   new UnreachableInst(BB->getContext(), BB);
  279   new UnreachableInst(BB->getContext(), BB);
  298     PredBB->takeName(BB);
  301     LI->removeBlock(BB);
  308     assert(BB->getInstList().size() == 1 &&
  309            isa<UnreachableInst>(BB->getTerminator()) &&
  313     DTU->deleteBB(BB);
  315     BB->eraseFromParent(); // Nuke BB if DTU is nullptr.