Lines Matching refs:MBB
45 void processBasicBlock(MachineBasicBlock &MBB);
47 MachineBasicBlock &MBB);
48 void addDirtySuccessor(MachineBasicBlock &MBB);
158 MachineBasicBlock &MBB) {
160 BuildMI(MBB, I, dl, TII->get(X86::VZEROUPPER));
165 // Add MBB to the DirtySuccessors list if it hasn't already been added.
166 void VZeroUpperInserter::addDirtySuccessor(MachineBasicBlock &MBB) {
167 if (!BlockStates[MBB.getNumber()].AddedToDirtySuccessors) {
168 DirtySuccessors.push_back(&MBB);
169 BlockStates[MBB.getNumber()].AddedToDirtySuccessors = true;
175 void VZeroUpperInserter::processBasicBlock(MachineBasicBlock &MBB) {
180 BlockStates[MBB.getNumber()].FirstUnguardedCall = MBB.end();
182 for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ++I) {
222 insertVZeroUpper(I, MBB);
230 BlockStates[MBB.getNumber()].FirstUnguardedCall = I;
235 DEBUG(dbgs() << "MBB #" << MBB.getNumber() << " exit state: "
239 for (MachineBasicBlock::succ_iterator SI = MBB.succ_begin(),
240 SE = MBB.succ_end();
244 BlockStates[MBB.getNumber()].ExitState = CurState;
284 for (MachineBasicBlock &MBB : MF)
285 processBasicBlock(MBB);
296 MachineBasicBlock &MBB = *DirtySuccessors.back();
298 BlockState &BBState = BlockStates[MBB.getNumber()];
300 // MBB is a successor of a dirty block, so its first call needs to be
302 if (BBState.FirstUnguardedCall != MBB.end())
303 insertVZeroUpper(BBState.FirstUnguardedCall, MBB);
309 DEBUG(dbgs() << "MBB #" << MBB.getNumber()
311 for (MachineBasicBlock::succ_iterator SI = MBB.succ_begin(),
312 SE = MBB.succ_end();