Lines Matching refs:BB

67   for (BasicBlock &BB : make_early_inc_range(F)) {  in removeDeadBlocks_v1()
71 if (&F.getEntryBlock() == &BB || !pred_empty(&BB)) in removeDeadBlocks_v1()
77 for (BasicBlock *Succ : successors(&BB)) in removeDeadBlocks_v1()
78 Succ->removePredecessor(&BB); in removeDeadBlocks_v1()
86 while (!BB.empty()) { in removeDeadBlocks_v1()
87 Instruction &I = BB.back(); in removeDeadBlocks_v1()
93 BB.eraseFromParent(); in removeDeadBlocks_v1()
108 for (BasicBlock &BB : make_early_inc_range(F)) { in removeDeadBlocks_v2()
112 if (&F.getEntryBlock() == &BB || !pred_empty(&BB)) in removeDeadBlocks_v2()
118 for (BasicBlock *Succ : successors(&BB)) { in removeDeadBlocks_v2()
119 Succ->removePredecessor(&BB); in removeDeadBlocks_v2()
122 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in removeDeadBlocks_v2()
127 DTU.deleteBB(&BB); in removeDeadBlocks_v2()
143 for (BasicBlock &BB : F) { in eliminateCondBranches_v1()
145 BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator()); in eliminateCondBranches_v1()
158 RemovedSucc->removePredecessor(&BB); in eliminateCondBranches_v1()
179 for (BasicBlock &BB : F) { in eliminateCondBranches_v2()
181 BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator()); in eliminateCondBranches_v2()
194 RemovedSucc->removePredecessor(&BB); in eliminateCondBranches_v2()
207 DTUpdates.push_back({DominatorTree::Delete, &BB, RemovedSucc}); in eliminateCondBranches_v2()
225 for (BasicBlock &BB : F) { in eliminateCondBranches_v3()
231 if (!match(BB.getTerminator(), in eliminateCondBranches_v3()
241 RemovedSucc->removePredecessor(&BB); in eliminateCondBranches_v3()
247 BranchInst *NewBranch = BranchInst::Create(TakenSucc, BB.getTerminator()); in eliminateCondBranches_v3()
248 BB.getTerminator()->eraseFromParent(); in eliminateCondBranches_v3()
254 DTUpdates.push_back({DominatorTree::Delete, &BB, RemovedSucc}); in eliminateCondBranches_v3()
270 for (BasicBlock &BB : make_early_inc_range(F)) { in mergeIntoSinglePredecessor_v1()
271 BasicBlock *Pred = BB.getSinglePredecessor(); in mergeIntoSinglePredecessor_v1()
274 if (!Pred || Pred->getSingleSuccessor() != &BB) in mergeIntoSinglePredecessor_v1()
278 if (Pred == &BB) in mergeIntoSinglePredecessor_v1()
282 BB.replaceAllUsesWith(Pred); in mergeIntoSinglePredecessor_v1()
284 for (PHINode &PN : make_early_inc_range(BB.phis())) { in mergeIntoSinglePredecessor_v1()
289 for (Instruction &I : make_early_inc_range(BB)) in mergeIntoSinglePredecessor_v1()
295 BB.eraseFromParent(); in mergeIntoSinglePredecessor_v1()
312 for (BasicBlock &BB : make_early_inc_range(F)) { in mergeIntoSinglePredecessor_v2()
313 BasicBlock *Pred = BB.getSinglePredecessor(); in mergeIntoSinglePredecessor_v2()
316 if (!Pred || Pred->getSingleSuccessor() != &BB) in mergeIntoSinglePredecessor_v2()
320 if (Pred == &BB) in mergeIntoSinglePredecessor_v2()
325 for (BasicBlock *Succ : successors(&BB)) { in mergeIntoSinglePredecessor_v2()
326 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in mergeIntoSinglePredecessor_v2()
330 DTUpdates.push_back({DominatorTree::Delete, Pred, &BB}); in mergeIntoSinglePredecessor_v2()
333 BB.replaceAllUsesWith(Pred); in mergeIntoSinglePredecessor_v2()
335 for (PHINode &PN : make_early_inc_range(BB.phis())) { in mergeIntoSinglePredecessor_v2()
340 for (Instruction &I : make_early_inc_range(BB)) in mergeIntoSinglePredecessor_v2()
346 DTU.deleteBB(&BB); in mergeIntoSinglePredecessor_v2()