• Home
  • Raw
  • Download

Lines Matching refs:BasicBlock

102     BasicBlock *RewriteLoopExitBlock(Loop *L, BasicBlock *Exit);
103 BasicBlock *InsertPreheaderForLoop(Loop *L);
105 BasicBlock *Preheader);
106 BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader);
107 void PlaceSplitBlockCarefully(BasicBlock *NewBB,
108 SmallVectorImpl<BasicBlock*> &SplitPreds,
156 SmallPtrSet<BasicBlock*, 4> BadPreds; in ProcessLoop()
159 BasicBlock *P = *PI; in ProcessLoop()
165 for (SmallPtrSet<BasicBlock*, 4>::iterator I = BadPreds.begin(), in ProcessLoop()
186 SmallVector<BasicBlock*, 8> ExitingBlocks; in ProcessLoop()
188 for (SmallVectorImpl<BasicBlock *>::iterator I = ExitingBlocks.begin(), in ProcessLoop()
209 BasicBlock *Preheader = L->getLoopPreheader(); in ProcessLoop()
222 SmallVector<BasicBlock*, 8> ExitBlocks; in ProcessLoop()
225 SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(), in ProcessLoop()
227 for (SmallSetVector<BasicBlock *, 8>::iterator I = ExitBlockSet.begin(), in ProcessLoop()
229 BasicBlock *ExitBlock = *I; in ProcessLoop()
245 BasicBlock *LoopLatch = L->getLoopLatch(); in ProcessLoop()
274 for (BasicBlock::iterator I = L->getHeader()->begin(); in ProcessLoop()
301 BasicBlock *ExitingBlock = ExitingBlocks[i]; in ProcessLoop()
311 for (BasicBlock::iterator I = ExitingBlock->begin(); &*I != BI; ) { in ProcessLoop()
349 const std::vector<DomTreeNodeBase<BasicBlock> *> &Children = in ProcessLoop()
370 BasicBlock *LoopSimplify::InsertPreheaderForLoop(Loop *L) { in InsertPreheaderForLoop()
371 BasicBlock *Header = L->getHeader(); in InsertPreheaderForLoop()
374 SmallVector<BasicBlock*, 8> OutsideBlocks; in InsertPreheaderForLoop()
377 BasicBlock *P = *PI; in InsertPreheaderForLoop()
390 BasicBlock *PreheaderBB; in InsertPreheaderForLoop()
395 SmallVector<BasicBlock*, 2> NewBBs; in InsertPreheaderForLoop()
416 BasicBlock *LoopSimplify::RewriteLoopExitBlock(Loop *L, BasicBlock *Exit) { in RewriteLoopExitBlock()
417 SmallVector<BasicBlock*, 8> LoopBlocks; in RewriteLoopExitBlock()
419 BasicBlock *P = *I; in RewriteLoopExitBlock()
429 BasicBlock *NewExitBB = 0; in RewriteLoopExitBlock()
432 SmallVector<BasicBlock*, 2> NewBBs; in RewriteLoopExitBlock()
433 SplitLandingPadPredecessors(Exit, ArrayRef<BasicBlock*>(&LoopBlocks[0], in RewriteLoopExitBlock()
450 static void AddBlockAndPredsToSet(BasicBlock *InputBB, BasicBlock *StopBlock, in AddBlockAndPredsToSet()
451 std::set<BasicBlock*> &Blocks) { in AddBlockAndPredsToSet()
452 std::vector<BasicBlock *> WorkList; in AddBlockAndPredsToSet()
455 BasicBlock *BB = WorkList.back(); WorkList.pop_back(); in AddBlockAndPredsToSet()
460 BasicBlock *WBB = *I; in AddBlockAndPredsToSet()
470 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ) { in FindPHIToPartitionLoops()
494 void LoopSimplify::PlaceSplitBlockCarefully(BasicBlock *NewBB, in PlaceSplitBlockCarefully()
495 SmallVectorImpl<BasicBlock*> &SplitPreds, in PlaceSplitBlockCarefully()
510 BasicBlock *FoundBB = 0; in PlaceSplitBlockCarefully()
547 BasicBlock *Preheader) { in SeparateNestedLoop()
562 SmallVector<BasicBlock*, 8> OuterLoopPreds; in SeparateNestedLoop()
580 BasicBlock *Header = L->getHeader(); in SeparateNestedLoop()
581 BasicBlock *NewBB = in SeparateNestedLoop()
613 std::set<BasicBlock*> BlocksInL; in SeparateNestedLoop()
615 BasicBlock *P = *PI; in SeparateNestedLoop()
632 BasicBlock *BB = L->getBlocks()[i]; in SeparateNestedLoop()
652 BasicBlock *
653 LoopSimplify::InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader) { in InsertUniqueBackedgeBlock()
657 BasicBlock *Header = L->getHeader(); in InsertUniqueBackedgeBlock()
668 std::vector<BasicBlock*> BackedgeBlocks; in InsertUniqueBackedgeBlock()
670 BasicBlock *P = *I; in InsertUniqueBackedgeBlock()
680 BasicBlock *BEBlock = BasicBlock::Create(Header->getContext(), in InsertUniqueBackedgeBlock()
693 for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) { in InsertUniqueBackedgeBlock()
705 BasicBlock *IBB = PN->getIncomingBlock(i); in InsertUniqueBackedgeBlock()
787 SmallVector<BasicBlock*, 8> ExitingBlocks; in verifyAnalysis()