Lines Matching refs:BB
97 /// \returns true if \p BB is reachable through only uniform branches.
100 BasicBlock &BB) {
104 for (BasicBlock *Pred : predecessors(&BB))
123 for (BasicBlock &BB : F) {
124 for (Instruction &I : BB) {
177 for (BasicBlock *BB : ReturningBlocks) {
181 PN->addIncoming(BB->getTerminator()->getOperand(0), BB);
184 BB->getTerminator()->eraseFromParent();
185 BranchInst::Create(NewRetBlock, BB);
188 for (BasicBlock *BB : ReturningBlocks) {
190 simplifyCFG(BB, TTI, {2});
213 for (BasicBlock *BB : PDT.getRoots()) {
214 if (isa<ReturnInst>(BB->getTerminator())) {
215 if (!isUniformlyReached(DA, *BB))
216 ReturningBlocks.push_back(BB);
217 } else if (isa<UnreachableInst>(BB->getTerminator())) {
218 if (!isUniformlyReached(DA, *BB))
219 UnreachableBlocks.push_back(BB);
220 } else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) {
266 BranchInst::Create(LoopHeaderBB, DummyReturnBB, BoolTrue, BB);
269 BasicBlock *TransitionBB = BB->splitBasicBlock(BI, "TransitionBlock");
273 BB->getTerminator()->eraseFromParent();
274 BranchInst::Create(TransitionBB, DummyReturnBB, BoolTrue, BB);
289 for (BasicBlock *BB : UnreachableBlocks) {
291 BB->getTerminator()->eraseFromParent();
292 BranchInst::Create(UnreachableBlock, BB);