reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
951 assert(BB != &BB->getParent()->getEntryBlock() && 951 assert(BB != &BB->getParent()->getEntryBlock() && 955 BasicBlock *Succ = cast<BranchInst>(BB->getTerminator())->getSuccessor(0); 956 if (BB == Succ) return false; 960 if (!CanPropagatePredecessorsForPHIs(BB, Succ)) return false; 975 BasicBlock::iterator BBI = BB->begin(); 979 if (PN->getIncomingBlock(U) != BB) 991 for (auto I = pred_begin(BB), E = pred_end(BB); I != E; ++I) { 991 for (auto I = pred_begin(BB), E = pred_end(BB); I != E; ++I) { 1001 LLVM_DEBUG(dbgs() << "Killing Trivial BB: \n" << *BB); 1005 Updates.push_back({DominatorTree::Delete, BB, Succ}); 1007 for (auto I = pred_begin(BB), E = pred_end(BB); I != E; ++I) { 1007 for (auto I = pred_begin(BB), E = pred_end(BB); I != E; ++I) { 1008 Updates.push_back({DominatorTree::Delete, *I, BB}); 1019 const PredBlockVector BBPreds(pred_begin(BB), pred_end(BB)); 1019 const PredBlockVector BBPreds(pred_begin(BB), pred_end(BB)); 1025 redirectValuesFromPredecessorsToPhi(BB, BBPreds, PN); 1034 BB->getTerminator()->eraseFromParent(); 1036 BB->getInstList()); 1038 while (PHINode *PN = dyn_cast<PHINode>(&BB->front())) { 1047 unsigned LoopMDKind = BB->getContext().getMDKindID("llvm.loop"); 1048 Instruction *TI = BB->getTerminator(); 1051 for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI) { 1051 for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI) { 1057 BB->replaceAllUsesWith(Succ); 1058 if (!Succ->hasName()) Succ->takeName(BB); 1061 if (BB->getTerminator()) 1062 BB->getInstList().pop_back(); 1063 new UnreachableInst(BB->getContext(), BB); 1063 new UnreachableInst(BB->getContext(), BB); 1064 assert(succ_empty(BB) && "The successor list of BB isn't empty before " 1069 DTU->deleteBB(BB); 1071 BB->eraseFromParent(); // Delete the old basic block.