Lines Matching refs:Preds
712 void llvm::createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, in createPHIsForSplitLoopExit() argument
733 PN.getType(), Preds.size(), "split", in createPHIsForSplitLoopExit()
735 for (BasicBlock *BB : Preds) in createPHIsForSplitLoopExit()
876 ArrayRef<BasicBlock *> Preds, in UpdateAnalysisInformation() argument
892 SmallPtrSet<BasicBlock *, 8> UniquePreds(Preds.begin(), Preds.end()); in UpdateAnalysisInformation()
913 MSSAU->wireOldPredecessorsToNewImmediatePredecessor(OldBB, NewBB, Preds); in UpdateAnalysisInformation()
928 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation()
962 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation()
989 ArrayRef<BasicBlock *> Preds, BranchInst *BI, in UpdatePHINodes() argument
992 SmallPtrSet<BasicBlock *, 16> PredSet(Preds.begin(), Preds.end()); in UpdatePHINodes()
1000 InVal = PN->getIncomingValueForBlock(Preds[0]); in UpdatePHINodes()
1036 PHINode::Create(PN->getType(), Preds.size(), PN->getName() + ".ph", BI); in UpdatePHINodes()
1055 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix1,
1061 SplitBlockPredecessorsImpl(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, in SplitBlockPredecessorsImpl() argument
1075 SplitLandingPadPredecessorsImpl(BB, Preds, Suffix, NewName.c_str(), NewBBs, in SplitBlockPredecessorsImpl()
1105 for (unsigned i = 0, e = Preds.size(); i != e; ++i) { in SplitBlockPredecessorsImpl()
1109 assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && in SplitBlockPredecessorsImpl()
1111 assert(!isa<CallBrInst>(Preds[i]->getTerminator()) && in SplitBlockPredecessorsImpl()
1113 Preds[i]->getTerminator()->replaceUsesOfWith(BB, NewBB); in SplitBlockPredecessorsImpl()
1120 if (Preds.empty()) { in SplitBlockPredecessorsImpl()
1128 UpdateAnalysisInformation(BB, NewBB, Preds, DTU, DT, LI, MSSAU, PreserveLCSSA, in SplitBlockPredecessorsImpl()
1131 if (!Preds.empty()) { in SplitBlockPredecessorsImpl()
1133 UpdatePHINodes(BB, NewBB, Preds, BI, HasLoopExit); in SplitBlockPredecessorsImpl()
1149 ArrayRef<BasicBlock *> Preds, in SplitBlockPredecessors() argument
1153 return SplitBlockPredecessorsImpl(BB, Preds, Suffix, /*DTU=*/nullptr, DT, LI, in SplitBlockPredecessors()
1157 ArrayRef<BasicBlock *> Preds, in SplitBlockPredecessors() argument
1162 return SplitBlockPredecessorsImpl(BB, Preds, Suffix, DTU, in SplitBlockPredecessors()
1167 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix1, in SplitLandingPadPredecessorsImpl() argument
1185 for (unsigned i = 0, e = Preds.size(); i != e; ++i) { in SplitLandingPadPredecessorsImpl()
1189 assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && in SplitLandingPadPredecessorsImpl()
1191 Preds[i]->getTerminator()->replaceUsesOfWith(OrigBB, NewBB1); in SplitLandingPadPredecessorsImpl()
1195 UpdateAnalysisInformation(OrigBB, NewBB1, Preds, DTU, DT, LI, MSSAU, in SplitLandingPadPredecessorsImpl()
1199 UpdatePHINodes(OrigBB, NewBB1, Preds, BI1, HasLoopExit); in SplitLandingPadPredecessorsImpl()
1269 ArrayRef<BasicBlock *> Preds, in SplitLandingPadPredecessors() argument
1276 OrigBB, Preds, Suffix1, Suffix2, NewBBs, in SplitLandingPadPredecessors()
1280 ArrayRef<BasicBlock *> Preds, in SplitLandingPadPredecessors() argument
1286 return SplitLandingPadPredecessorsImpl(OrigBB, Preds, Suffix1, Suffix2, in SplitLandingPadPredecessors()