Home | History | Annotate | Download | only in CodeGen

Lines Matching defs: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)
541 MachineBasicBlock *MBB = MI.getParent();
546 HandleVirtRegUse(MOReg, MBB, MI);
566 void LiveVariables::runOnBlock(MachineBasicBlock *MBB, const unsigned NumRegs) {
569 for (const auto &LI : MBB->liveins()) {
578 for (MachineInstr &MI : *MBB) {
590 if (!PHIVarInfo[MBB->getNumber()].empty()) {
591 SmallVectorImpl<unsigned> &VarInfoVec = PHIVarInfo[MBB->getNumber()];
597 MBB);
603 for (MachineBasicBlock::const_succ_iterator SI = MBB->succ_begin(),
604 SE = MBB->succ_end(); SI != SE; ++SI) {
648 for (MachineBasicBlock *MBB : depth_first_ext(Entry, Visited)) {
649 runOnBlock(MBB, NumRegs);
711 for (const auto &MBB : Fn)
712 for (const auto &BBI : MBB) {
722 bool LiveVariables::VarInfo::isLiveIn(const MachineBasicBlock &MBB,
725 unsigned Num = MBB.getNumber();
731 // Registers defined in MBB cannot be live in.
733 if (Def && Def->getParent() == &MBB)
736 // Reg was not defined in MBB, was it killed here?
737 return findKill(&MBB);
740 bool LiveVariables::isLiveOut(unsigned Reg, const MachineBasicBlock &MBB) {
749 for (const MachineBasicBlock *SuccMBB : MBB.successors()) {