Lines Matching refs:Preds
88 /// new PHIs, as needed. Preds is a list of preds inside the loop, SplitBB
91 static void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds,
112 PHINode::Create(PN->getType(), Preds.size(), "split",
115 for (unsigned i = 0, e = Preds.size(); i != e; ++i)
116 NewPN->addIncoming(V, Preds[i]);
320 SmallVector<BasicBlock *, 4> Preds;
328 Preds.clear();
331 Preds.push_back(P);
337 // the edges. The Preds.empty() check is needed because a block
341 if (!Preds.empty() && HasPredOutsideOfLoop) {
344 SplitBlockPredecessors(Exit, Preds, "split", P);
346 createPHIsForSplitLoopExit(Preds, NewExitBB, Exit);
349 SplitLandingPadPredecessors(Exit, Preds,
353 createPHIsForSplitLoopExit(Preds, NewBBs[0], Exit);