Home | History | Annotate | Download | only in X86

Lines Matching refs:MBB

63     void findReturns(MachineBasicBlock *MBB,
66 bool cyclesUntilReturn(MachineBasicBlock *MBB,
69 void addPadding(MachineBasicBlock *MBB,
117 MachineBasicBlock *MBB;
123 MBB = I->first;
129 assert(MBB->size() > 0 &&
131 MachineBasicBlock::iterator ReturnLoc = --MBB->end();
138 addPadding(MBB, ReturnLoc, Threshold - Cycles);
147 /// findReturn - Starting at MBB, follow control flow and add all
149 void PadShortFunc::findReturns(MachineBasicBlock *MBB, unsigned int Cycles) {
151 bool hasReturn = cyclesUntilReturn(MBB, Cycles);
156 ReturnBBs[MBB] = std::max(ReturnBBs[MBB], Cycles);
161 for (MachineBasicBlock::succ_iterator I = MBB->succ_begin();
162 I != MBB->succ_end(); ++I) {
163 if (*I == MBB)
169 /// cyclesUntilReturn - return true if the MBB has a return instruction,
173 bool PadShortFunc::cyclesUntilReturn(MachineBasicBlock *MBB,
177 = VisitedBBs.find(MBB);
186 for (MachineBasicBlock::iterator MBBI = MBB->begin();
187 MBBI != MBB->end(); ++MBBI) {
193 VisitedBBs[MBB] = VisitedBBInfo(true, CyclesToEnd);
201 VisitedBBs[MBB] = VisitedBBInfo(false, CyclesToEnd);
208 void PadShortFunc::addPadding(MachineBasicBlock *MBB,
214 BuildMI(*MBB, MBBI, DL, TII->get(X86::NOOP));
215 BuildMI(*MBB, MBBI, DL, TII->get(X86::NOOP));