Lines Matching refs:NewBB
191 BasicBlock *NewBB = BasicBlock::Create(TI->getContext(),
194 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB);
198 TI->setSuccessor(SuccNum, NewBB);
203 F.getBasicBlockList().insert(++FBBI, NewBB);
206 // merge incoming values from NewBB instead of from TIBB.
210 // We no longer enter through TIBB, now we come in through NewBB.
212 // TIBB to come from NewBB.
222 PN->setIncomingBlock(BBIdx, NewBB);
236 // We found another edge to DestBB, go to NewBB instead.
237 TI->setSuccessor(i, NewBB);
244 if (P == 0) return NewBB;
252 return NewBB;
254 // Now update analysis information. Since the only predecessor of NewBB is
255 // the TIBB, TIBB clearly dominates NewBB. TIBB usually doesn't dominate
258 // loop header) then NewBB dominates DestBB.
265 if (PN->getIncomingBlock(i) != NewBB)
271 if (P != NewBB)
286 DomTreeNode *NewBBNode = DT->addNewBlock(NewBB, TIBB);
300 // If NewBBDominatesDestBB, then NewBB dominates DestBB, otherwise it
316 // Both in the same loop, the NewBB joins loop.
317 DestLoop->addBasicBlockToLoop(NewBB, LI->getBase());
320 TIL->addBasicBlockToLoop(NewBB, LI->getBase());
323 DestLoop->addBasicBlockToLoop(NewBB, LI->getBase());
332 P->addBasicBlockToLoop(NewBB, LI->getBase());
340 assert(!TIL->contains(NewBB) &&
345 createPHIsForSplitLoopExit(TIBB, NewBB, DestBB);
406 PI->splitEdge(TIBB, DestBB, NewBB, MergeIdenticalEdges);
408 return NewBB;