Lines Matching refs:MBB
68 void findReturns(MachineBasicBlock *MBB,
71 bool cyclesUntilReturn(MachineBasicBlock *MBB,
74 void addPadding(MachineBasicBlock *MBB,
121 MachineBasicBlock *MBB; in runOnMachineFunction() local
127 MBB = I->first; in runOnMachineFunction()
133 assert(MBB->size() > 0 && in runOnMachineFunction()
135 MachineBasicBlock::iterator ReturnLoc = --MBB->end(); in runOnMachineFunction()
142 addPadding(MBB, ReturnLoc, Threshold - Cycles); in runOnMachineFunction()
153 void PadShortFunc::findReturns(MachineBasicBlock *MBB, unsigned int Cycles) { in findReturns() argument
155 bool hasReturn = cyclesUntilReturn(MBB, Cycles); in findReturns()
160 ReturnBBs[MBB] = std::max(ReturnBBs[MBB], Cycles); in findReturns()
165 for (MachineBasicBlock::succ_iterator I = MBB->succ_begin(); in findReturns()
166 I != MBB->succ_end(); ++I) { in findReturns()
167 if (*I == MBB) in findReturns()
177 bool PadShortFunc::cyclesUntilReturn(MachineBasicBlock *MBB, in cyclesUntilReturn() argument
181 = VisitedBBs.find(MBB); in cyclesUntilReturn()
190 for (MachineInstr &MI : *MBB) { in cyclesUntilReturn()
195 VisitedBBs[MBB] = VisitedBBInfo(true, CyclesToEnd); in cyclesUntilReturn()
203 VisitedBBs[MBB] = VisitedBBInfo(false, CyclesToEnd); in cyclesUntilReturn()
210 void PadShortFunc::addPadding(MachineBasicBlock *MBB, in addPadding() argument
216 BuildMI(*MBB, MBBI, DL, TII->get(X86::NOOP)); in addPadding()
217 BuildMI(*MBB, MBBI, DL, TII->get(X86::NOOP)); in addPadding()