Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:MBB

60 LiveVariables::VarInfo::findKill(const MachineBasicBlock *MBB) const {
62 if (Kills[i]->getParent() == MBB)
94 MachineBasicBlock *MBB,
96 unsigned BBNum = MBB->getNumber();
101 if (VRInfo.Kills[i]->getParent() == MBB) {
106 if (MBB == DefBlock) return; // Terminate recursion
114 assert(MBB != &MF->front() && "Can't find reaching def for virtreg");
115 WorkList.insert(WorkList.end(), MBB->pred_rbegin(), MBB->pred_rend());
120 MachineBasicBlock *MBB) {
122 MarkVirtRegAliveInBlock(VRInfo, DefBlock, MBB, WorkList);
131 void LiveVariables::HandleVirtRegUse(unsigned reg, MachineBasicBlock *MBB,
135 unsigned BBNum = MBB->getNumber();
140 if (!VRInfo.Kills.empty() && VRInfo.Kills.back()->getParent() == MBB) {
149 assert(VRInfo.Kills[i]->getParent() != MBB && "entry should be at end!");
168 if (MBB == MRI->getVRegDef(reg)->getParent()) return;
177 for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),
178 E = MBB->pred_end(); PI != E; ++PI)
538 MachineBasicBlock *MBB = MI->getParent();
543 HandleVirtRegUse(MOReg, MBB, MI);
563 void LiveVariables::runOnBlock(MachineBasicBlock *MBB, const unsigned NumRegs) {
566 for (const auto &LI : MBB->liveins()) {
575 for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
589 if (!PHIVarInfo[MBB->getNumber()].empty()) {
590 SmallVectorImpl<unsigned> &VarInfoVec = PHIVarInfo[MBB->getNumber()];
596 MBB);
602 for (MachineBasicBlock::const_succ_iterator SI = MBB->succ_begin(),
603 SE = MBB->succ_end(); SI != SE; ++SI) {
647 for (MachineBasicBlock *MBB : depth_first_ext(Entry, Visited)) {
648 runOnBlock(MBB, NumRegs);
710 for (const auto &MBB : Fn)
711 for (const auto &BBI : MBB) {
721 bool LiveVariables::VarInfo::isLiveIn(const MachineBasicBlock &MBB,
724 unsigned Num = MBB.getNumber();
730 // Registers defined in MBB cannot be live in.
732 if (Def && Def->getParent() == &MBB)
735 // Reg was not defined in MBB, was it killed here?
736 return findKill(&MBB);
739 bool LiveVariables::isLiveOut(unsigned Reg, const MachineBasicBlock &MBB) {
748 for (const MachineBasicBlock *SuccMBB : MBB.successors()) {