Lines Matching refs:BasicBlock

41 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,  in CloneBasicBlock()
46 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); in CloneBasicBlock()
167 const BasicBlock &BB = *BI; in CloneFunctionInto()
170 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo, in CloneFunctionInto()
184 const_cast<BasicBlock*>(&BB)); in CloneFunctionInto()
206 cast<BasicBlock>(VMap[&OldFunc->front()])->getIterator(), in CloneFunctionInto()
279 void CloneBlock(const BasicBlock *BB,
280 BasicBlock::const_iterator StartingInst,
281 std::vector<const BasicBlock*> &ToClone);
287 void PruningFunctionCloner::CloneBlock(const BasicBlock *BB, in CloneBlock()
288 BasicBlock::const_iterator StartingInst, in CloneBlock()
289 std::vector<const BasicBlock*> &ToClone){ in CloneBlock()
296 BasicBlock *NewBB; in CloneBlock()
297 BBEntry = NewBB = BasicBlock::Create(BB->getContext()); in CloneBlock()
311 const_cast<BasicBlock*>(BB)); in CloneBlock()
319 for (BasicBlock::const_iterator II = StartingInst, IE = --BB->end(); in CloneBlock()
383 BasicBlock *Dest = BI->getSuccessor(!Cond->getZExtValue()); in CloneBlock()
398 BasicBlock *Dest = const_cast<BasicBlock*>(Case.getCaseSuccessor()); in CloneBlock()
419 for (const BasicBlock *Succ : successors(TI)) in CloneBlock()
456 const BasicBlock *StartingBB; in CloneAndPruneIntoFromInst()
465 std::vector<const BasicBlock*> CloneWorklist; in CloneAndPruneIntoFromInst()
468 const BasicBlock *BB = CloneWorklist.back(); in CloneAndPruneIntoFromInst()
479 for (const BasicBlock &BI : *OldFunc) { in CloneAndPruneIntoFromInst()
481 BasicBlock *NewBB = cast_or_null<BasicBlock>(V); in CloneAndPruneIntoFromInst()
510 const BasicBlock *OldBB = OPN->getParent(); in CloneAndPruneIntoFromInst()
511 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); in CloneAndPruneIntoFromInst()
521 if (BasicBlock *MappedBlock = cast_or_null<BasicBlock>(V)) { in CloneAndPruneIntoFromInst()
546 std::map<BasicBlock*, unsigned> PredCount; in CloneAndPruneIntoFromInst()
558 BasicBlock::iterator I = NewBB->begin(); in CloneAndPruneIntoFromInst()
561 BasicBlock *Pred = PCI.first; in CloneAndPruneIntoFromInst()
573 BasicBlock::iterator I = NewBB->begin(); in CloneAndPruneIntoFromInst()
574 BasicBlock::const_iterator OldI = OldBB->begin(); in CloneAndPruneIntoFromInst()
637 Function::iterator Begin = cast<BasicBlock>(VMap[StartingBB])->getIterator(); in CloneAndPruneIntoFromInst()
661 BasicBlock *DeadBB = &*I++; in CloneAndPruneIntoFromInst()
669 BasicBlock *Dest = BI->getSuccessor(0); in CloneAndPruneIntoFromInst()
697 for (Function::iterator I = cast<BasicBlock>(VMap[StartingBB])->getIterator(), in CloneAndPruneIntoFromInst()
725 const SmallVectorImpl<BasicBlock *> &Blocks, ValueToValueMapTy &VMap) { in remapInstructionsInBlocks()
738 Loop *llvm::cloneLoopWithPreheader(BasicBlock *Before, BasicBlock *LoopDomBB, in cloneLoopWithPreheader()
742 SmallVectorImpl<BasicBlock *> &Blocks) { in cloneLoopWithPreheader()
754 BasicBlock *OrigPH = OrigLoop->getLoopPreheader(); in cloneLoopWithPreheader()
756 BasicBlock *NewPH = CloneBasicBlock(OrigPH, VMap, NameSuffix, F); in cloneLoopWithPreheader()
768 for (BasicBlock *BB : OrigLoop->getBlocks()) { in cloneLoopWithPreheader()
769 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, NameSuffix, F); in cloneLoopWithPreheader()
781 for (BasicBlock *BB : OrigLoop->getBlocks()) { in cloneLoopWithPreheader()
783 BasicBlock *IDomBB = DT->getNode(BB)->getIDom()->getBlock(); in cloneLoopWithPreheader()
784 DT->changeImmediateDominator(cast<BasicBlock>(VMap[BB]), in cloneLoopWithPreheader()
785 cast<BasicBlock>(VMap[IDomBB])); in cloneLoopWithPreheader()
799 BasicBlock *llvm::DuplicateInstructionsInSplitBetween( in DuplicateInstructionsInSplitBetween()
800 BasicBlock *BB, BasicBlock *PredBB, Instruction *StopAt, in DuplicateInstructionsInSplitBetween()
808 BasicBlock::iterator BI = BB->begin(); in DuplicateInstructionsInSplitBetween()
812 BasicBlock *NewBB = SplitEdge(PredBB, BB); in DuplicateInstructionsInSplitBetween()