Lines Matching refs:BasicBlock
41 bool FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder);
46 bool MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder);
53 bool CompareIfRegionBlock(BasicBlock *Head1, BasicBlock *Head2,
54 BasicBlock *Block1, BasicBlock *Block2);
59 bool run(BasicBlock *BB);
137 bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder) { in FlattenParallelAndOr()
142 BasicBlock *LastCondBlock = nullptr; in FlattenParallelAndOr()
143 BasicBlock *FirstCondBlock = nullptr; in FlattenParallelAndOr()
144 BasicBlock *UnCondBlock = nullptr; in FlattenParallelAndOr()
148 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB)); in FlattenParallelAndOr()
149 for (SmallPtrSetIterator<BasicBlock *> PI = Preds.begin(), PE = Preds.end(); in FlattenParallelAndOr()
151 BasicBlock *Pred = *PI; in FlattenParallelAndOr()
158 BasicBlock *PP = Pred->getSinglePredecessor(); in FlattenParallelAndOr()
191 for (BasicBlock::iterator BI = Pred->begin(), BE = PBI->getIterator(); in FlattenParallelAndOr()
207 BasicBlock *PS1 = PBI->getSuccessor(0); in FlattenParallelAndOr()
208 BasicBlock *PS2 = PBI->getSuccessor(1); in FlattenParallelAndOr()
209 BasicBlock *PS = (PS1 == BB) ? PS2 : PS1; in FlattenParallelAndOr()
236 BasicBlock *PS1 = TBB->getSuccessor(0); in FlattenParallelAndOr()
237 BasicBlock *PS2 = TBB->getSuccessor(1); in FlattenParallelAndOr()
251 BasicBlock *CurrBlock = LastCondBlock; in FlattenParallelAndOr()
281 BasicBlock *CB; in FlattenParallelAndOr()
325 bool FlattenCFGOpt::CompareIfRegionBlock(BasicBlock *Head1, BasicBlock *Head2, in CompareIfRegionBlock()
326 BasicBlock *Block1, in CompareIfRegionBlock()
327 BasicBlock *Block2) { in CompareIfRegionBlock()
340 BasicBlock::iterator iter1 = Block1->begin(); in CompareIfRegionBlock()
341 BasicBlock::iterator end1 = Block1->getTerminator()->getIterator(); in CompareIfRegionBlock()
342 BasicBlock::iterator iter2 = Block2->begin(); in CompareIfRegionBlock()
343 BasicBlock::iterator end2 = Block2->getTerminator()->getIterator(); in CompareIfRegionBlock()
370 for (BasicBlock::iterator BI(PBI2), BE(PTI2); BI != BE; ++BI) { in CompareIfRegionBlock()
399 bool FlattenCFGOpt::MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder) { in MergeIfRegion()
400 BasicBlock *IfTrue2, *IfFalse2; in MergeIfRegion()
406 BasicBlock *SecondEntryBlock = CInst2->getParent(); in MergeIfRegion()
410 BasicBlock *IfTrue1, *IfFalse1; in MergeIfRegion()
416 BasicBlock *FirstEntryBlock = CInst1->getParent(); in MergeIfRegion()
437 for (BasicBlock::iterator BI(PBI2), BE(PTI2); BI != BE; ++BI) { in MergeIfRegion()
450 BasicBlock *SaveInsertBB = Builder.GetInsertBlock(); in MergeIfRegion()
451 BasicBlock::iterator SaveInsertPt = Builder.GetInsertPoint(); in MergeIfRegion()
476 bool FlattenCFGOpt::run(BasicBlock *BB) { in run()
490 bool llvm::FlattenCFG(BasicBlock *BB, AliasAnalysis *AA) { in FlattenCFG()