Lines Matching refs:BasicBlock

84                           BasicBlock *PrologExit,  in ConnectProlog()
85 BasicBlock *OriginalLoopLatchExit, in ConnectProlog()
86 BasicBlock *PreHeader, BasicBlock *NewPreHeader, in ConnectProlog()
101 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog()
103 BasicBlock *PrologLatch = cast<BasicBlock>(VMap[Latch]); in ConnectProlog()
110 for (BasicBlock *Succ : successors(Latch)) { in ConnectProlog()
154 SmallVector<BasicBlock *, 4> PrologExitPreds; in ConnectProlog()
157 for (BasicBlock *PredBB : predecessors(PrologExit)) in ConnectProlog()
179 SmallVector<BasicBlock *, 4> Preds(predecessors(OriginalLoopLatchExit)); in ConnectProlog()
211 static void ConnectEpilog(Loop *L, Value *ModVal, BasicBlock *NewExit, in ConnectEpilog()
212 BasicBlock *Exit, BasicBlock *PreHeader, in ConnectEpilog()
213 BasicBlock *EpilogPreHeader, BasicBlock *NewPreHeader, in ConnectEpilog()
217 BasicBlock *Latch = L->getLoopLatch(); in ConnectEpilog()
219 BasicBlock *EpilogLatch = cast<BasicBlock>(VMap[Latch]); in ConnectEpilog()
283 for (BasicBlock *Succ : successors(Latch)) { in ConnectEpilog()
309 SmallVector<BasicBlock*, 4> Preds(predecessors(Exit)); in ConnectEpilog()
327 SmallVector<BasicBlock*, 4> NewExitPreds{Latch}; in ConnectEpilog()
341 BasicBlock *InsertTop, in CloneLoopBlocks()
342 BasicBlock *InsertBot, BasicBlock *Preheader, in CloneLoopBlocks()
343 std::vector<BasicBlock *> &NewBlocks, in CloneLoopBlocks()
347 BasicBlock *Header = L->getHeader(); in CloneLoopBlocks()
348 BasicBlock *Latch = L->getLoopLatch(); in CloneLoopBlocks()
359 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, "." + suffix, F); in CloneLoopBlocks()
377 BasicBlock *IDomBB = DT->getNode(*BB)->getIDom()->getBlock(); in CloneLoopBlocks()
378 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDomBB])); in CloneLoopBlocks()
388 BasicBlock *FirstLoopBB = cast<BasicBlock>(VMap[Header]); in CloneLoopBlocks()
427 for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) { in CloneLoopBlocks()
431 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]); in CloneLoopBlocks()
466 Loop *L, SmallVectorImpl<BasicBlock *> &OtherExits, BasicBlock *LatchExit, in canProfitablyUnrollMultiExitLoop()
488 SmallVector<BasicBlock*, 4> ExitingBlocks; in canProfitablyUnrollMultiExitLoop()
599 BasicBlock *Latch = L->getLoopLatch(); in UnrollRuntimeLoopRemainder()
600 BasicBlock *Header = L->getHeader(); in UnrollRuntimeLoopRemainder()
613 BasicBlock *LatchExit = LatchBR->getSuccessor(ExitIndex); in UnrollRuntimeLoopRemainder()
625 SmallVector<BasicBlock *, 4> OtherExits; in UnrollRuntimeLoopRemainder()
671 BasicBlock *PreHeader = L->getLoopPreheader(); in UnrollRuntimeLoopRemainder()
699 BasicBlock *NewPreHeader; in UnrollRuntimeLoopRemainder()
700 BasicBlock *NewExit = nullptr; in UnrollRuntimeLoopRemainder()
701 BasicBlock *PrologExit = nullptr; in UnrollRuntimeLoopRemainder()
702 BasicBlock *EpilogPreHeader = nullptr; in UnrollRuntimeLoopRemainder()
703 BasicBlock *PrologPreHeader = nullptr; in UnrollRuntimeLoopRemainder()
794 BasicBlock *RemainderLoop = UseEpilogRemainder ? NewExit : PrologPreHeader; in UnrollRuntimeLoopRemainder()
795 BasicBlock *UnrollingLoop = UseEpilogRemainder ? NewPreHeader : PrologExit; in UnrollRuntimeLoopRemainder()
822 std::vector<BasicBlock *> NewBlocks; in UnrollRuntimeLoopRemainder()
828 BasicBlock *InsertBot = UseEpilogRemainder ? LatchExit : PrologExit; in UnrollRuntimeLoopRemainder()
829 BasicBlock *InsertTop = UseEpilogRemainder ? EpilogPreHeader : PrologPreHeader; in UnrollRuntimeLoopRemainder()
863 PN.addIncoming(V, cast<BasicBlock>(VMap[PredBB])); in UnrollRuntimeLoopRemainder()
867 for (BasicBlock *SuccBB : successors(BB)) { in UnrollRuntimeLoopRemainder()
881 SmallVector<BasicBlock *, 16> ChildrenToUpdate; in UnrollRuntimeLoopRemainder()
915 for (BasicBlock *BB : NewBlocks) { in UnrollRuntimeLoopRemainder()
972 BasicBlock *RemainderLatch = remainderLoop->getLoopLatch(); in UnrollRuntimeLoopRemainder()
974 SmallVector<BasicBlock*> RemainderBlocks(remainderLoop->getBlocks().begin(), in UnrollRuntimeLoopRemainder()
982 for (BasicBlock *BB : RemainderBlocks) { in UnrollRuntimeLoopRemainder()