Lines Matching refs:BB
69 bool MachineSSAUpdater::HasValueForBlock(MachineBasicBlock *BB) const { in HasValueForBlock()
70 return getAvailableVals(AV).count(BB); in HasValueForBlock()
75 void MachineSSAUpdater::AddAvailableValue(MachineBasicBlock *BB, Register V) { in AddAvailableValue() argument
76 getAvailableVals(AV)[BB] = V; in AddAvailableValue()
81 Register MachineSSAUpdater::GetValueAtEndOfBlock(MachineBasicBlock *BB) { in GetValueAtEndOfBlock() argument
82 return GetValueAtEndOfBlockInternal(BB); in GetValueAtEndOfBlock()
86 Register LookForIdenticalPHI(MachineBasicBlock *BB, in LookForIdenticalPHI() argument
88 if (BB->empty()) in LookForIdenticalPHI()
91 MachineBasicBlock::iterator I = BB->begin(); in LookForIdenticalPHI()
98 while (I != BB->end() && I->isPHI()) { in LookForIdenticalPHI()
120 MachineBasicBlock *BB, MachineBasicBlock::iterator I, in InsertNewDef() argument
125 return BuildMI(*BB, I, DebugLoc(), TII->get(Opcode), NewVR); in InsertNewDef()
148 Register MachineSSAUpdater::GetValueInMiddleOfBlock(MachineBasicBlock *BB, in GetValueInMiddleOfBlock() argument
152 if (!HasValueForBlock(BB)) in GetValueInMiddleOfBlock()
153 return GetValueAtEndOfBlockInternal(BB, ExistingValueOnly); in GetValueInMiddleOfBlock()
156 if (BB->pred_empty()) { in GetValueInMiddleOfBlock()
162 BB, BB->getFirstTerminator(), in GetValueInMiddleOfBlock()
173 for (MachineBasicBlock *PredBB : BB->predecessors()) { in GetValueInMiddleOfBlock()
190 Register DupPHI = LookForIdenticalPHI(BB, PredValues); in GetValueInMiddleOfBlock()
199 MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->begin(); in GetValueInMiddleOfBlock()
200 MachineInstrBuilder InsertedPHI = InsertNewDef(TargetOpcode::PHI, BB, in GetValueInMiddleOfBlock()
259 static BlkSucc_iterator BlkSucc_begin(BlkT *BB) { return BB->succ_begin(); } in BlkSucc_begin() argument
260 static BlkSucc_iterator BlkSucc_end(BlkT *BB) { return BB->succ_end(); } in BlkSucc_end() argument
293 static void FindPredecessorBlocks(MachineBasicBlock *BB, in FindPredecessorBlocks() argument
295 append_range(*Preds, BB->predecessors()); in FindPredecessorBlocks()
300 static Register GetUndefVal(MachineBasicBlock *BB, in GetUndefVal() argument
304 BB, BB->getFirstNonPHI(), in GetUndefVal()
312 static Register CreateEmptyPHI(MachineBasicBlock *BB, unsigned NumPreds, in CreateEmptyPHI() argument
314 MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->begin(); in CreateEmptyPHI()
315 MachineInstr *PHI = InsertNewDef(TargetOpcode::PHI, BB, Loc, in CreateEmptyPHI()
364 MachineSSAUpdater::GetValueAtEndOfBlockInternal(MachineBasicBlock *BB, in GetValueAtEndOfBlockInternal() argument
367 Register ExistingVal = AvailableVals.lookup(BB); in GetValueAtEndOfBlockInternal()
372 return Impl.GetValue(BB); in GetValueAtEndOfBlockInternal()