Lines Matching defs:BB
61 bool SSAUpdater::HasValueForBlock(BasicBlock *BB) const {
62 return getAvailableVals(AV).count(BB);
65 Value *SSAUpdater::FindValueForBlock(BasicBlock *BB) const {
66 return getAvailableVals(AV).lookup(BB);
69 void SSAUpdater::AddAvailableValue(BasicBlock *BB, Value *V) {
73 getAvailableVals(AV)[BB] = V;
92 Value *SSAUpdater::GetValueAtEndOfBlock(BasicBlock *BB) {
93 Value *Res = GetValueAtEndOfBlockInternal(BB);
97 Value *SSAUpdater::GetValueInMiddleOfBlock(BasicBlock *BB) {
100 if (!HasValueForBlock(BB))
101 return GetValueAtEndOfBlock(BB);
111 if (PHINode *SomePhi = dyn_cast<PHINode>(BB->begin())) {
125 for (BasicBlock *PredBB : predecessors(BB)) {
148 if (isa<PHINode>(BB->begin())) {
151 for (PHINode &SomePHI : BB->phis()) {
160 InsertedPHI->insertBefore(BB->begin());
169 simplifyInstruction(InsertedPHI, BB->getDataLayout())) {
176 if (BasicBlock::iterator It = BB->getFirstNonPHIIt(); It != BB->end())
269 static BlkSucc_iterator BlkSucc_begin(BlkT *BB) { return succ_begin(BB); }
270 static BlkSucc_iterator BlkSucc_end(BlkT *BB) { return succ_end(BB); }
296 /// FindPredecessorBlocks - Put the predecessors of Info->BB into the Preds
298 static void FindPredecessorBlocks(BasicBlock *BB,
303 if (PHINode *SomePhi = dyn_cast<PHINode>(BB->begin()))
306 append_range(*Preds, predecessors(BB));
311 static Value *GetPoisonVal(BasicBlock *BB, SSAUpdater *Updater) {
317 static Value *CreateEmptyPHI(BasicBlock *BB, unsigned NumPreds,
321 PHI->insertBefore(BB->begin());
354 /// Check to see if AvailableVals has an entry for the specified BB and if so,
357 Value *SSAUpdater::GetValueAtEndOfBlockInternal(BasicBlock *BB) {
359 if (Value *V = AvailableVals[BB])
363 return Impl.GetValue(BB);
402 BasicBlock *BB = User->getParent();
403 TinyPtrVector<Instruction *> &BlockUses = UsesByBlock[BB];
414 SSA.AddAvailableValue(BB, SI->getOperand(0));
417 SSA.AddAvailableValue(BB, getValueToUseForAlloca(AI));
483 SSA.AddAvailableValue(BB, StoredValue);