Lines Matching refs:BasicBlock
36 void llvm::DeleteDeadBlock(BasicBlock *BB) { in DeleteDeadBlock()
68 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P) { in FoldSingleEntryPHINodes()
98 bool llvm::DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) { in DeleteDeadPHIs()
102 for (BasicBlock::iterator I = BB->begin(); in DeleteDeadPHIs()
116 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P) { in MergeBlockIntoPredecessor()
121 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor()
130 BasicBlock *OnlySucc = BB; in MergeBlockIntoPredecessor()
141 for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; ++BI) { in MergeBlockIntoPredecessor()
199 void llvm::ReplaceInstWithValue(BasicBlock::InstListType &BIL, in ReplaceInstWithValue()
200 BasicBlock::iterator &BI, Value *V) { in ReplaceInstWithValue()
218 void llvm::ReplaceInstWithInst(BasicBlock::InstListType &BIL, in ReplaceInstWithInst()
219 BasicBlock::iterator &BI, Instruction *I) { in ReplaceInstWithInst()
224 BasicBlock::iterator New = BIL.insert(BI, I); in ReplaceInstWithInst()
237 BasicBlock::iterator BI(From); in ReplaceInstWithInst()
243 BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, Pass *P) { in SplitEdge()
253 if (BasicBlock *SP = Succ->getSinglePredecessor()) { in SplitEdge()
273 BasicBlock *llvm::SplitBlock(BasicBlock *Old, Instruction *SplitPt, Pass *P) { in SplitBlock()
274 BasicBlock::iterator SplitIt = SplitPt; in SplitBlock()
277 BasicBlock *New = Old->splitBasicBlock(SplitIt, Old->getName()+".split"); in SplitBlock()
307 static void UpdateAnalysisInformation(BasicBlock *OldBB, BasicBlock *NewBB, in UpdateAnalysisInformation()
308 ArrayRef<BasicBlock *> Preds, in UpdateAnalysisInformation()
321 for (ArrayRef<BasicBlock*>::iterator in UpdateAnalysisInformation()
323 BasicBlock *Pred = *i; in UpdateAnalysisInformation()
355 for (ArrayRef<BasicBlock*>::iterator in UpdateAnalysisInformation()
357 BasicBlock *Pred = *i; in UpdateAnalysisInformation()
383 static void UpdatePHINodes(BasicBlock *OrigBB, BasicBlock *NewBB, in UpdatePHINodes()
384 ArrayRef<BasicBlock*> Preds, BranchInst *BI, in UpdatePHINodes()
388 SmallPtrSet<BasicBlock *, 16> PredSet(Preds.begin(), Preds.end()); in UpdatePHINodes()
389 for (BasicBlock::iterator I = OrigBB->begin(); isa<PHINode>(I); ) { in UpdatePHINodes()
441 BasicBlock *IncomingBB = PN->getIncomingBlock(i); in UpdatePHINodes()
463 BasicBlock *llvm::SplitBlockPredecessors(BasicBlock *BB, in SplitBlockPredecessors()
464 ArrayRef<BasicBlock*> Preds, in SplitBlockPredecessors()
467 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), BB->getName()+Suffix, in SplitBlockPredecessors()
489 for (BasicBlock::iterator I = BB->begin(); isa<PHINode>(I); ++I) in SplitBlockPredecessors()
516 void llvm::SplitLandingPadPredecessors(BasicBlock *OrigBB, in SplitLandingPadPredecessors()
517 ArrayRef<BasicBlock*> Preds, in SplitLandingPadPredecessors()
520 SmallVectorImpl<BasicBlock*> &NewBBs) { in SplitLandingPadPredecessors()
525 BasicBlock *NewBB1 = BasicBlock::Create(OrigBB->getContext(), in SplitLandingPadPredecessors()
551 SmallVector<BasicBlock*, 8> NewBB2Preds; in SplitLandingPadPredecessors()
554 BasicBlock *Pred = *i++; in SplitLandingPadPredecessors()
562 BasicBlock *NewBB2 = nullptr; in SplitLandingPadPredecessors()
565 NewBB2 = BasicBlock::Create(OrigBB->getContext(), in SplitLandingPadPredecessors()
574 for (SmallVectorImpl<BasicBlock*>::iterator in SplitLandingPadPredecessors()
615 ReturnInst *llvm::FoldReturnIntoUncondBranch(ReturnInst *RI, BasicBlock *BB, in FoldReturnIntoUncondBranch()
616 BasicBlock *Pred) { in FoldReturnIntoUncondBranch()
677 BasicBlock *Head = SplitBefore->getParent(); in SplitBlockAndInsertIfThen()
678 BasicBlock *Tail = Head->splitBasicBlock(SplitBefore); in SplitBlockAndInsertIfThen()
681 BasicBlock *ThenBlock = BasicBlock::Create(C, "", Head->getParent(), Tail); in SplitBlockAndInsertIfThen()
714 BasicBlock *Head = SplitBefore->getParent(); in SplitBlockAndInsertIfThenElse()
715 BasicBlock *Tail = Head->splitBasicBlock(SplitBefore); in SplitBlockAndInsertIfThenElse()
718 BasicBlock *ThenBlock = BasicBlock::Create(C, "", Head->getParent(), Tail); in SplitBlockAndInsertIfThenElse()
719 BasicBlock *ElseBlock = BasicBlock::Create(C, "", Head->getParent(), Tail); in SplitBlockAndInsertIfThenElse()
741 Value *llvm::GetIfCondition(BasicBlock *BB, BasicBlock *&IfTrue, in GetIfCondition()
742 BasicBlock *&IfFalse) { in GetIfCondition()
744 BasicBlock *Pred1 = nullptr; in GetIfCondition()
745 BasicBlock *Pred2 = nullptr; in GetIfCondition()
814 BasicBlock *CommonPred = Pred1->getSinglePredecessor(); in GetIfCondition()