Home | History | Annotate | Download | only in Utils

Lines Matching refs:BasicBlock

39 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB,
43 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F);
49 for (BasicBlock::const_iterator II = BB->begin(), IE = BB->end();
137 const BasicBlock &BB = *BI;
140 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo);
153 const_cast<BasicBlock*>(&BB));
165 cast<BasicBlock>(VMap[&OldFunc->front()])->getIterator(),
238 void CloneBlock(const BasicBlock *BB,
239 BasicBlock::const_iterator StartingInst,
240 std::vector<const BasicBlock*> &ToClone);
246 void PruningFunctionCloner::CloneBlock(const BasicBlock *BB,
247 BasicBlock::const_iterator StartingInst,
248 std::vector<const BasicBlock*> &ToClone){
255 BasicBlock *NewBB;
256 BBEntry = NewBB = BasicBlock::Create(BB->getContext());
270 const_cast<BasicBlock*>(BB));
278 for (BasicBlock::const_iterator II = StartingInst, IE = --BB->end();
341 BasicBlock *Dest = BI->getSuccessor(!Cond->getZExtValue());
356 BasicBlock *Dest = const_cast<BasicBlock*>(Case.getCaseSuccessor());
377 for (const BasicBlock *Succ : TI->successors())
414 const BasicBlock *StartingBB;
423 std::vector<const BasicBlock*> CloneWorklist;
426 const BasicBlock *BB = CloneWorklist.back();
437 for (const BasicBlock &BI : *OldFunc) {
439 BasicBlock *NewBB = cast_or_null<BasicBlock>(V);
447 for (BasicBlock::const_iterator I = BI.begin(), E = BI.end(); I != E; ++I) {
472 const BasicBlock *OldBB = OPN->getParent();
473 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]);
483 if (BasicBlock *MappedBlock = cast_or_null<BasicBlock>(V)) {
508 std::map<BasicBlock*, unsigned> PredCount;
520 BasicBlock::iterator I = NewBB->begin();
523 BasicBlock *Pred = PCI.first;
535 BasicBlock::iterator I = NewBB->begin();
536 BasicBlock::const_iterator OldI = OldBB->begin();
563 Function::iterator Begin = cast<BasicBlock>(VMap[StartingBB])->getIterator();
571 BasicBlock *DeadBB = &*I++;
586 BasicBlock *Dest = BI->getSuccessor(0);
614 for (Function::iterator I = cast<BasicBlock>(VMap[StartingBB])->getIterator(),
642 const SmallVectorImpl<BasicBlock *> &Blocks, ValueToValueMapTy &VMap) {
655 Loop *llvm::cloneLoopWithPreheader(BasicBlock *Before, BasicBlock *LoopDomBB,
659 SmallVectorImpl<BasicBlock *> &Blocks) {
671 BasicBlock *OrigPH = OrigLoop->getLoopPreheader();
673 BasicBlock *NewPH = CloneBasicBlock(OrigPH, VMap, NameSuffix, F);
685 for (BasicBlock *BB : OrigLoop->getBlocks()) {
686 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, NameSuffix, F);
698 for (BasicBlock *BB : OrigLoop->getBlocks()) {
700 BasicBlock *IDomBB = DT->getNode(BB)->getIDom()->getBlock();
701 DT->changeImmediateDominator(cast<BasicBlock>(VMap[BB]),
702 cast<BasicBlock>(VMap[IDomBB]));