Home | History | Annotate | Download | only in Utils

Lines Matching defs:BB1

1152 static bool isSafeToHoistInvoke(BasicBlock *BB1, BasicBlock *BB2,
1154 for (BasicBlock *Succ : successors(BB1)) {
1158 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1170 /// Given a conditional branch that goes to BB1 and BB2, hoist any common code
1172 /// guarantees that BI's block dominates BB1 and BB2.
1177 // O(M*N) situations here where M and N are the sizes of BB1 and BB2. As
1180 BasicBlock *BB1 = BI->getSuccessor(0); // The true destination.
1183 BasicBlock::iterator BB1_Itr = BB1->begin();
1197 (isa<InvokeInst>(I1) && !isSafeToHoistInvoke(BB1, BB2, I1, I2)))
1215 BIParent->getInstList().splice(BI->getIterator(), BB1->getInstList(), I1);
1250 if (isa<InvokeInst>(I1) && !isSafeToHoistInvoke(BB1, BB2, I1, I2))
1253 for (BasicBlock *Succ : successors(BB1)) {
1257 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1287 // them. If they do, all PHI entries for BB1/BB2 must agree for all PHI
1290 for (BasicBlock *Succ : successors(BB1)) {
1294 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1307 // Make the PHI node use the select for all incoming values for BB1/BB2
1309 if (PN->getIncomingBlock(i) == BB1 || PN->getIncomingBlock(i) == BB2)
1315 for (BasicBlock *Succ : successors(BB1))
1316 AddPredecessorToBlock(Succ, BIParent, BB1);
1328 BasicBlock *BB1 = BI1->getParent();
1340 BasicBlock *BB2 = (Pred0 == BB1) ? Pred1 : Pred0;
1350 Value *BB1V = PN->getIncomingValueForBlock(BB1);
1364 BasicBlock::InstListType::reverse_iterator RI1 = BB1->getInstList().rbegin(),
1365 RE1 = BB1->getInstList().rend(),
1456 NewPN->addIncoming(DifferentOp1, BB1);
1468 bool UpdateRE1 = (I1 == &BB1->front()), UpdateRE2 = (I2 == &BB2->front());
1471 BB1->getInstList(), I1);
1484 RE1 = BB1->getInstList().rend();
2474 // If there is only one store in BB1 and BB2, return it, otherwise return
2476 static StoreInst *findUniqueStoreInBlocks(BasicBlock *BB1, BasicBlock *BB2) {
2478 for (auto *BB : {BB1, BB2}) {