Lines Matching refs:MBB

45 void ReachingDefAnalysis::enterBasicBlock(MachineBasicBlock *MBB) {  in enterBasicBlock()  argument
46 unsigned MBBNumber = MBB->getNumber(); in enterBasicBlock()
60 if (MBB->pred_empty()) { in enterBasicBlock()
61 for (const auto &LI : MBB->liveins()) { in enterBasicBlock()
72 LLVM_DEBUG(dbgs() << printMBBReference(*MBB) << ": entry\n"); in enterBasicBlock()
77 for (MachineBasicBlock *pred : MBB->predecessors()) { in enterBasicBlock()
97 void ReachingDefAnalysis::leaveBasicBlock(MachineBasicBlock *MBB) { in leaveBasicBlock() argument
99 unsigned MBBNumber = MBB->getNumber(); in leaveBasicBlock()
142 void ReachingDefAnalysis::reprocessBasicBlock(MachineBasicBlock *MBB) { in reprocessBasicBlock() argument
143 unsigned MBBNumber = MBB->getNumber(); in reprocessBasicBlock()
149 instructionsWithoutDebug(MBB->instr_begin(), MBB->instr_end()); in reprocessBasicBlock()
154 for (MachineBasicBlock *pred : MBB->predecessors()) { in reprocessBasicBlock()
189 MachineBasicBlock *MBB = TraversedMBB.MBB; in processBasicBlock() local
190 LLVM_DEBUG(dbgs() << printMBBReference(*MBB) in processBasicBlock()
196 reprocessBasicBlock(MBB); in processBasicBlock()
200 enterBasicBlock(MBB); in processBasicBlock()
202 instructionsWithoutDebug(MBB->instr_begin(), MBB->instr_end())) in processBasicBlock()
204 leaveBasicBlock(MBB); in processBasicBlock()
295 MachineInstr *ReachingDefAnalysis::getInstFromId(MachineBasicBlock *MBB, in getInstFromId() argument
297 assert(static_cast<size_t>(MBB->getNumber()) < MBBReachingDefs.size() && in getInstFromId()
299 assert(InstId < static_cast<int>(MBB->size()) && in getInstFromId()
305 for (auto &MI : *MBB) { in getInstFromId()
328 MachineBasicBlock *MBB = Def->getParent(); in getReachingLocalUses() local
330 while (++MI != MBB->end()) { in getReachingLocalUses()
350 bool ReachingDefAnalysis::getLiveInUses(MachineBasicBlock *MBB, in getLiveInUses() argument
354 instructionsWithoutDebug(MBB->instr_begin(), MBB->instr_end())) { in getLiveInUses()
363 auto Last = MBB->getLastNonDebugInstr(); in getLiveInUses()
364 if (Last == MBB->end()) in getLiveInUses()
371 MachineBasicBlock *MBB = MI->getParent(); in getGlobalUses() local
381 SmallVector<MachineBasicBlock *, 4> ToVisit(MBB->successors()); in getGlobalUses()
384 MachineBasicBlock *MBB = ToVisit.back(); in getGlobalUses() local
386 if (Visited.count(MBB) || !MBB->isLiveIn(PhysReg)) in getGlobalUses()
388 if (getLiveInUses(MBB, PhysReg, Uses)) in getGlobalUses()
389 llvm::append_range(ToVisit, MBB->successors()); in getGlobalUses()
390 Visited.insert(MBB); in getGlobalUses()
403 for (auto *MBB : MI->getParent()->predecessors()) in getGlobalReachingDefs() local
404 getLiveOuts(MBB, PhysReg, Defs); in getGlobalReachingDefs()
407 void ReachingDefAnalysis::getLiveOuts(MachineBasicBlock *MBB, in getLiveOuts() argument
410 getLiveOuts(MBB, PhysReg, Defs, VisitedBBs); in getLiveOuts()
413 void ReachingDefAnalysis::getLiveOuts(MachineBasicBlock *MBB, in getLiveOuts() argument
416 if (VisitedBBs.count(MBB)) in getLiveOuts()
419 VisitedBBs.insert(MBB); in getLiveOuts()
421 LiveRegs.addLiveOuts(*MBB); in getLiveOuts()
425 if (auto *Def = getLocalLiveOutMIDef(MBB, PhysReg)) in getLiveOuts()
428 for (auto *Pred : MBB->predecessors()) in getLiveOuts()
467 MachineBasicBlock *MBB = MI->getParent(); in isRegUsedAfter() local
469 LiveRegs.addLiveOuts(*MBB); in isRegUsedAfter()
478 instructionsWithoutDebug(MBB->instr_rbegin(), MBB->instr_rend())) { in isRegUsedAfter()
488 MachineBasicBlock *MBB = MI->getParent(); in isRegDefinedAfter() local
489 auto Last = MBB->getLastNonDebugInstr(); in isRegDefinedAfter()
490 if (Last != MBB->end() && in isRegDefinedAfter()
494 if (auto *Def = getLocalLiveOutMIDef(MBB, PhysReg)) in isRegDefinedAfter()
502 MachineBasicBlock *MBB = MI->getParent(); in isReachingDefLiveOut() local
504 LiveRegs.addLiveOuts(*MBB); in isReachingDefLiveOut()
508 auto Last = MBB->getLastNonDebugInstr(); in isReachingDefLiveOut()
510 if (Last != MBB->end() && getReachingDef(&*Last, PhysReg) != Def) in isReachingDefLiveOut()
522 ReachingDefAnalysis::getLocalLiveOutMIDef(MachineBasicBlock *MBB, in getLocalLiveOutMIDef() argument
525 LiveRegs.addLiveOuts(*MBB); in getLocalLiveOutMIDef()
529 auto Last = MBB->getLastNonDebugInstr(); in getLocalLiveOutMIDef()
530 if (Last == MBB->end()) in getLocalLiveOutMIDef()
538 return Def < 0 ? nullptr : getInstFromId(MBB, Def); in getLocalLiveOutMIDef()
695 MachineBasicBlock *MBB = MI->getParent(); in isSafeToDefRegAt() local
699 for (auto E = MBB->end(); I != E; ++I) { in isSafeToDefRegAt()