Lines Matching refs:BB1
977 static bool isSafeToHoistInvoke(BasicBlock *BB1, BasicBlock *BB2,
979 for (succ_iterator SI = succ_begin(BB1), E = succ_end(BB1); SI != E; ++SI) {
983 Value *BB1V = PN->getIncomingValueForBlock(BB1);
993 /// HoistThenElseCodeToIf - Given a conditional branch that goes to BB1 and
995 /// caller of this function guarantees that BI's block dominates BB1 and BB2.
999 // O(M*N) situations here where M and N are the sizes of BB1 and BB2. As
1002 BasicBlock *BB1 = BI->getSuccessor(0); // The true destination.
1005 BasicBlock::iterator BB1_Itr = BB1->begin();
1019 (isa<InvokeInst>(I1) && !isSafeToHoistInvoke(BB1, BB2, I1, I2)))
1034 BIParent->getInstList().splice(BI, BB1->getInstList(), I1);
1058 if (isa<InvokeInst>(I1) && !isSafeToHoistInvoke(BB1, BB2, I1, I2))
1061 for (succ_iterator SI = succ_begin(BB1), E = succ_end(BB1); SI != E; ++SI) {
1065 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1089 // them. If they do, all PHI entries for BB1/BB2 must agree for all PHI
1092 for (succ_iterator SI = succ_begin(BB1), E = succ_end(BB1); SI != E; ++SI) {
1096 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1108 // Make the PHI node use the select for all incoming values for BB1/BB2
1110 if (PN->getIncomingBlock(i) == BB1 || PN->getIncomingBlock(i) == BB2)
1116 for (succ_iterator SI = succ_begin(BB1), E = succ_end(BB1); SI != E; ++SI)
1117 AddPredecessorToBlock(*SI, BIParent, BB1);
1129 BasicBlock *BB1 = BI1->getParent();
1141 BasicBlock *BB2 = (Pred0 == BB1) ? Pred1 : Pred0;
1152 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1167 BasicBlock::InstListType::reverse_iterator RI1 = BB1->getInstList().rbegin(),
1168 RE1 = BB1->getInstList().rend(), RI2 = BB2->getInstList().rbegin(),
1258 NewPN->addIncoming(DifferentOp1, BB1);
1269 bool UpdateRE1 = (I1 == BB1->begin()), UpdateRE2 = (I2 == BB2->begin());
1271 BBEnd->getInstList().splice(FirstNonPhiInBBEnd, BB1->getInstList(), I1);
1282 RE1 = BB1->getInstList().rend();