Home | History | Annotate | Download | only in Scalar

Lines Matching refs:PredBB

487         BasicBlock *PredBB = PN->getIncomingBlock(i);
489 Value *RHS = Cmp->getOperand(1)->DoPHITranslation(BB, PredBB);
498 cast<Constant>(RHS), PredBB, BB);
505 Result.push_back(std::make_pair(KC, PredBB));
884 BasicBlock *PredBB = *PI;
887 if (!PredsScanned.insert(PredBB))
891 BBIt = PredBB->end();
893 Value *PredAvailable = FindAvailableLoadedValue(LoadedPtr, PredBB, BBIt, 6,
896 OneUnavailablePred = PredBB;
905 AvailablePreds.push_back(std::make_pair(PredBB, PredAvailable));
1184 BasicBlock *PredBB = PN->getIncomingBlock(i);
1185 if (BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()))
1187 PredBBs[0] = PredBB;
1188 // Try to duplicate BB into PredBB.
1298 // Try to duplicate BB into PredBB.
1357 BasicBlock *PredBB;
1359 PredBB = PredBBs[0];
1363 PredBB = SplitBlockPredecessors(BB, PredBBs, ".thr_comm", this);
1367 DEBUG(dbgs() << " Threading edge from '" << PredBB->getName() << "' to '"
1372 LVI->threadEdge(PredBB, BB, SuccBB);
1376 // account for entry from PredBB.
1382 NewBB->moveAfter(PredBB);
1386 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB);
1454 // Ok, NewBB is good to go. Update the terminator of PredBB to jump to
1457 TerminatorInst *PredTerm = PredBB->getTerminator();
1460 BB->removePredecessor(PredBB, true);
1474 /// DuplicateCondBranchOnPHIIntoPred - PredBB contains an unconditional branch
1476 /// If we can duplicate the contents of BB up into PredBB do so now, this
1501 BasicBlock *PredBB;
1503 PredBB = PredBBs[0];
1507 PredBB = SplitBlockPredecessors(BB, PredBBs, ".thr_comm", this);
1511 // of PredBB.
1513 << PredBB->getName() << "' to eliminate branch on phi. Cost: "
1516 // Unless PredBB ends with an unconditional branch, split the edge so that we
1517 // can just clone the bits from BB into the end of the new PredBB.
1518 BranchInst *OldPredBranch = dyn_cast<BranchInst>(PredBB->getTerminator());
1521 PredBB = SplitEdge(PredBB, BB, this);
1522 OldPredBranch = cast<BranchInst>(PredBB->getTerminator());
1526 // PredBB block. Evaluate PHI nodes in BB.
1531 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB);
1533 // Clone the non-phi instructions of BB into PredBB, keeping track of the
1555 PredBB->getInstList().insert(OldPredBranch, New);
1561 // add entries to the PHI nodes for branch from PredBB now.
1563 AddPHINodeEntriesForMappedBlock(BBBranch->getSuccessor(0), BB, PredBB,
1565 AddPHINodeEntriesForMappedBlock(BBBranch->getSuccessor(1), BB, PredBB,
1600 SSAUpdate.AddAvailableValue(PredBB, ValueMapping[I]);
1607 // PredBB no longer jumps to BB, remove entries in the PHI node for the edge
1609 BB->removePredecessor(PredBB, true);
1611 // Remove the unconditional branch at the end of the PredBB block.