Lines Matching refs:DestBB
86 BasicBlock *DestBB) { in createPHIsForSplitLoopExit() argument
92 for (BasicBlock::iterator I = DestBB->begin(); in createPHIsForSplitLoopExit()
141 BasicBlock *DestBB = TI->getSuccessor(SuccNum); in SplitCriticalEdge() local
145 if (DestBB->isEHPad()) return nullptr; in SplitCriticalEdge()
149 TIBB->getName() + "." + DestBB->getName() + "_crit_edge"); in SplitCriticalEdge()
151 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB); in SplitCriticalEdge()
166 for (BasicBlock::iterator I = DestBB->begin(); isa<PHINode>(I); ++I) { in SplitCriticalEdge()
188 if (TI->getSuccessor(i) != DestBB) continue; in SplitCriticalEdge()
191 DestBB->removePredecessor(TIBB, Options.DontDeleteUselessPHIs); in SplitCriticalEdge()
213 if (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { in SplitCriticalEdge()
218 for (pred_iterator I = pred_begin(DestBB), E = pred_end(DestBB); in SplitCriticalEdge()
241 DestBBNode = DT->getNode(DestBB); in SplitCriticalEdge()
253 if (!DestBBNode) DestBBNode = DT->getNode(DestBB); in SplitCriticalEdge()
264 if (Loop *DestLoop = LI->getLoopFor(DestBB)) { in SplitCriticalEdge()
279 assert(DestLoop->getHeader() == DestBB && in SplitCriticalEdge()
288 if (!TIL->contains(DestBB)) { in SplitCriticalEdge()
294 createPHIsForSplitLoopExit(TIBB, NewBB, DestBB); in SplitCriticalEdge()
307 for (pred_iterator I = pred_begin(DestBB), E = pred_end(DestBB); I != E; in SplitCriticalEdge()
320 assert(!DestBB->isEHPad() && "We don't split edges to EH pads!"); in SplitCriticalEdge()
322 DestBB, LoopPreds, "split", DT, LI, Options.PreserveLCSSA); in SplitCriticalEdge()
324 createPHIsForSplitLoopExit(LoopPreds, NewExitBB, DestBB); in SplitCriticalEdge()