Lines Matching refs:Preds
181 SmallVector<BasicBlock *, 2> Preds(predecessors((BB)));
182 assert(Preds.size() == 2 && "Expected exactly 2 predecessors!");
183 return Preds;
197 SmallVector<BasicBlock *, 2> Preds(predecessors(CallSiteBB));
198 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) ||
199 isa<IndirectBrInst>(Preds[1]->getTerminator()))
268 /// be split. In this case, Preds for Tail is [(Header, a == null),
306 const SmallVectorImpl<std::pair<BasicBlock *, ConditionsTy>> &Preds,
317 CallPN = PHINode::Create(CB.getType(), Preds.size(), "phi.call");
323 assert(Preds.size() == 2 && "The ValueToValueMaps array has size 2.");
327 for (unsigned i = 0; i < Preds.size(); i++) {
328 BasicBlock *PredBB = Preds[i].first;
336 addConditions(*NewCI, Preds[i].second);
400 PHINode *NewPN = PHINode::Create(CurrentI->getType(), Preds.size());
448 auto Preds = getTwoPredecessors(CB.getParent());
449 return {{Preds[0], {}}, {Preds[1], {}}};
457 auto Preds = getTwoPredecessors(CB.getParent());
458 if (Preds[0] == Preds[1])
470 for (auto *Pred : make_range(Preds.rbegin(), Preds.rend())) {