Home | History | Annotate | Download | only in Utils

Lines Matching refs:Preds

100   assert(I != E && "No preds, but we have an edge to the block?");
107 // non-critical iff all preds come from TI's block.
122 /// new PHIs, as needed. Preds is a list of preds inside the loop, SplitBB
125 static void CreatePHIsForSplitLoopExit(SmallVectorImpl<BasicBlock *> &Preds,
143 PHINode *NewPN = PHINode::Create(PN->getType(), Preds.size(), "split",
145 for (unsigned i = 0, e = Preds.size(); i != e; ++i)
146 NewPN->addIncoming(V, Preds[i]);
350 // Collect all the preds that are inside the loop, and note
351 // whether there are any preds outside the loop.
352 SmallVector<BasicBlock *, 4> Preds;
360 Preds.clear();
363 Preds.push_back(P);
368 // If there are any preds not in the loop, we'll need to split
369 // the edges. The Preds.empty() check is needed because a block
373 if (!Preds.empty() && HasPredOutsideOfLoop) {
375 SplitBlockPredecessors(Exit, Preds, "split", P);
377 CreatePHIsForSplitLoopExit(Preds, NewExitBB, Exit);