Lines Matching refs:BasicBlock

31   bool FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder);
35 bool MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder);
41 bool CompareIfRegionBlock(BasicBlock *Head1, BasicBlock *Head2,
42 BasicBlock *Block1, BasicBlock *Block2);
46 bool run(BasicBlock *BB);
124 bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder) {
129 BasicBlock *LastCondBlock = nullptr;
130 BasicBlock *FirstCondBlock = nullptr;
131 BasicBlock *UnCondBlock = nullptr;
135 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB));
136 for (SmallPtrSetIterator<BasicBlock *> PI = Preds.begin(), PE = Preds.end();
138 BasicBlock *Pred = *PI;
145 BasicBlock *PP = Pred->getSinglePredecessor();
178 for (BasicBlock::iterator BI = Pred->begin(), BE = PBI->getIterator();
194 BasicBlock *PS1 = PBI->getSuccessor(0);
195 BasicBlock *PS2 = PBI->getSuccessor(1);
196 BasicBlock *PS = (PS1 == BB) ? PS2 : PS1;
223 BasicBlock *PS1 = TBB->getSuccessor(0);
224 BasicBlock *PS2 = TBB->getSuccessor(1);
238 BasicBlock *CurrBlock = LastCondBlock;
268 BasicBlock *CB;
313 bool FlattenCFGOpt::CompareIfRegionBlock(BasicBlock *Head1, BasicBlock *Head2,
314 BasicBlock *Block1,
315 BasicBlock *Block2) {
328 BasicBlock::iterator iter1 = Block1->begin();
329 BasicBlock::iterator end1 = Block1->getTerminator()->getIterator();
330 BasicBlock::iterator iter2 = Block2->begin();
331 BasicBlock::iterator end2 = Block2->getTerminator()->getIterator();
358 for (BasicBlock::iterator BI(PBI2), BE(PTI2); BI != BE; ++BI) {
388 bool FlattenCFGOpt::MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder) {
389 BasicBlock *IfTrue2, *IfFalse2;
395 BasicBlock *SecondEntryBlock = CInst2->getParent();
399 BasicBlock *IfTrue1, *IfFalse1;
405 BasicBlock *FirstEntryBlock = CInst1->getParent();
426 for (BasicBlock::iterator BI(PBI2), BE(PTI2); BI != BE; ++BI) {
439 BasicBlock *SaveInsertBB = Builder.GetInsertBlock();
440 BasicBlock::iterator SaveInsertPt = Builder.GetInsertPoint();
465 bool FlattenCFGOpt::run(BasicBlock *BB) {
485 bool llvm::FlattenCFG(BasicBlock *BB, AliasAnalysis *AA) {