Lines Matching refs:Preds
736 void llvm::createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, in createPHIsForSplitLoopExit() argument
757 PN.getType(), Preds.size(), "split", in createPHIsForSplitLoopExit()
759 for (BasicBlock *BB : Preds) in createPHIsForSplitLoopExit()
899 ArrayRef<BasicBlock *> Preds, in UpdateAnalysisInformation() argument
917 Updates.reserve(Updates.size() + 2 * Preds.size()); in UpdateAnalysisInformation()
918 for (auto *Pred : Preds) in UpdateAnalysisInformation()
937 MSSAU->wireOldPredecessorsToNewImmediatePredecessor(OldBB, NewBB, Preds); in UpdateAnalysisInformation()
952 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation()
986 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation()
1013 ArrayRef<BasicBlock *> Preds, BranchInst *BI, in UpdatePHINodes() argument
1016 SmallPtrSet<BasicBlock *, 16> PredSet(Preds.begin(), Preds.end()); in UpdatePHINodes()
1024 InVal = PN->getIncomingValueForBlock(Preds[0]); in UpdatePHINodes()
1060 PHINode::Create(PN->getType(), Preds.size(), PN->getName() + ".ph", BI); in UpdatePHINodes()
1079 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix1,
1085 SplitBlockPredecessorsImpl(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, in SplitBlockPredecessorsImpl() argument
1099 SplitLandingPadPredecessorsImpl(BB, Preds, Suffix, NewName.c_str(), NewBBs, in SplitBlockPredecessorsImpl()
1129 for (unsigned i = 0, e = Preds.size(); i != e; ++i) { in SplitBlockPredecessorsImpl()
1133 assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && in SplitBlockPredecessorsImpl()
1135 Preds[i]->getTerminator()->replaceSuccessorWith(BB, NewBB); in SplitBlockPredecessorsImpl()
1142 if (Preds.empty()) { in SplitBlockPredecessorsImpl()
1150 UpdateAnalysisInformation(BB, NewBB, Preds, DTU, DT, LI, MSSAU, PreserveLCSSA, in SplitBlockPredecessorsImpl()
1153 if (!Preds.empty()) { in SplitBlockPredecessorsImpl()
1155 UpdatePHINodes(BB, NewBB, Preds, BI, HasLoopExit); in SplitBlockPredecessorsImpl()
1175 ArrayRef<BasicBlock *> Preds, in SplitBlockPredecessors() argument
1179 return SplitBlockPredecessorsImpl(BB, Preds, Suffix, /*DTU=*/nullptr, DT, LI, in SplitBlockPredecessors()
1183 ArrayRef<BasicBlock *> Preds, in SplitBlockPredecessors() argument
1188 return SplitBlockPredecessorsImpl(BB, Preds, Suffix, DTU, in SplitBlockPredecessors()
1193 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix1, in SplitLandingPadPredecessorsImpl() argument
1211 for (unsigned i = 0, e = Preds.size(); i != e; ++i) { in SplitLandingPadPredecessorsImpl()
1215 assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && in SplitLandingPadPredecessorsImpl()
1217 Preds[i]->getTerminator()->replaceUsesOfWith(OrigBB, NewBB1); in SplitLandingPadPredecessorsImpl()
1221 UpdateAnalysisInformation(OrigBB, NewBB1, Preds, DTU, DT, LI, MSSAU, in SplitLandingPadPredecessorsImpl()
1225 UpdatePHINodes(OrigBB, NewBB1, Preds, BI1, HasLoopExit); in SplitLandingPadPredecessorsImpl()
1295 ArrayRef<BasicBlock *> Preds, in SplitLandingPadPredecessors() argument
1302 OrigBB, Preds, Suffix1, Suffix2, NewBBs, in SplitLandingPadPredecessors()
1306 ArrayRef<BasicBlock *> Preds, in SplitLandingPadPredecessors() argument
1312 return SplitLandingPadPredecessorsImpl(OrigBB, Preds, Suffix1, Suffix2, in SplitLandingPadPredecessors()