Lines Matching refs:BasicBlock
40 bool FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder);
45 bool MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder);
52 bool CompareIfRegionBlock(BasicBlock *Block1, BasicBlock *Block2,
53 BasicBlock *Head2);
58 bool run(BasicBlock *BB);
136 bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder) { in FlattenParallelAndOr()
141 BasicBlock *LastCondBlock = nullptr; in FlattenParallelAndOr()
142 BasicBlock *FirstCondBlock = nullptr; in FlattenParallelAndOr()
143 BasicBlock *UnCondBlock = nullptr; in FlattenParallelAndOr()
147 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB)); in FlattenParallelAndOr()
148 for (SmallPtrSetIterator<BasicBlock *> PI = Preds.begin(), PE = Preds.end(); in FlattenParallelAndOr()
150 BasicBlock *Pred = *PI; in FlattenParallelAndOr()
157 BasicBlock *PP = Pred->getSinglePredecessor(); in FlattenParallelAndOr()
190 for (BasicBlock::iterator BI = Pred->begin(), BE = PBI->getIterator(); in FlattenParallelAndOr()
206 BasicBlock *PS1 = PBI->getSuccessor(0); in FlattenParallelAndOr()
207 BasicBlock *PS2 = PBI->getSuccessor(1); in FlattenParallelAndOr()
208 BasicBlock *PS = (PS1 == BB) ? PS2 : PS1; in FlattenParallelAndOr()
235 BasicBlock *PS1 = TBB->getSuccessor(0); in FlattenParallelAndOr()
236 BasicBlock *PS2 = TBB->getSuccessor(1); in FlattenParallelAndOr()
250 BasicBlock *CurrBlock = LastCondBlock; in FlattenParallelAndOr()
280 BasicBlock *CB; in FlattenParallelAndOr()
323 bool FlattenCFGOpt::CompareIfRegionBlock(BasicBlock *Block1, BasicBlock *Block2, in CompareIfRegionBlock()
324 BasicBlock *Head2) { in CompareIfRegionBlock()
330 BasicBlock::iterator iter1 = Block1->begin(); in CompareIfRegionBlock()
331 BasicBlock::iterator end1 = Block1->getTerminator()->getIterator(); in CompareIfRegionBlock()
332 BasicBlock::iterator iter2 = Block2->begin(); in CompareIfRegionBlock()
333 BasicBlock::iterator end2 = Block2->getTerminator()->getIterator(); in CompareIfRegionBlock()
360 for (BasicBlock::iterator BI(PBI2), BE(PTI2); BI != BE; ++BI) { in CompareIfRegionBlock()
412 bool FlattenCFGOpt::MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder) { in MergeIfRegion()
413 BasicBlock *IfTrue2, *IfFalse2; in MergeIfRegion()
421 BasicBlock *SecondEntryBlock = CInst2->getParent(); in MergeIfRegion()
425 BasicBlock *IfTrue1, *IfFalse1; in MergeIfRegion()
433 BasicBlock *FirstEntryBlock = CInst1->getParent(); in MergeIfRegion()
474 for (BasicBlock::iterator BI(PBI2), BE(PTI2); BI != BE; ++BI) { in MergeIfRegion()
487 BasicBlock *SaveInsertBB = Builder.GetInsertBlock(); in MergeIfRegion()
488 BasicBlock::iterator SaveInsertPt = Builder.GetInsertPoint(); in MergeIfRegion()
505 for (BasicBlock *Succ : successors(PBI)) { in MergeIfRegion()
533 bool FlattenCFGOpt::run(BasicBlock *BB) { in run()
547 bool llvm::FlattenCFG(BasicBlock *BB, AAResults *AA) { in FlattenCFG()