Lines Matching refs:Preds
125 static void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, in createPHIsForSplitLoopExit() argument
146 PHINode::Create(PN->getType(), Preds.size(), "split", in createPHIsForSplitLoopExit()
149 for (unsigned i = 0, e = Preds.size(); i != e; ++i) in createPHIsForSplitLoopExit()
150 NewPN->addIncoming(V, Preds[i]); in createPHIsForSplitLoopExit()
355 SmallVector<BasicBlock *, 4> Preds; in SplitCriticalEdge() local
363 Preds.clear(); in SplitCriticalEdge()
366 Preds.push_back(P); in SplitCriticalEdge()
376 if (!Preds.empty() && HasPredOutsideOfLoop) { in SplitCriticalEdge()
379 SplitBlockPredecessors(Exit, Preds, "split", P); in SplitCriticalEdge()
381 createPHIsForSplitLoopExit(Preds, NewExitBB, Exit); in SplitCriticalEdge()
384 SplitLandingPadPredecessors(Exit, Preds, in SplitCriticalEdge()
388 createPHIsForSplitLoopExit(Preds, NewBBs[0], Exit); in SplitCriticalEdge()