Lines Matching refs:MBB
121 static unsigned calcLiveInMask(MachineBasicBlock *MBB) {
123 for (const auto &LI : MBB->liveins()) {
134 MachineBasicBlock *MBB; // Current basic block
153 // Set up our stack model to match the incoming registers to MBB.
206 DebugLoc dl = I == MBB->end() ? DebugLoc() : I->getDebugLoc();
221 BuildMI(*MBB, I, dl, TII->get(X86::XCH_F)).addReg(STReg);
226 DebugLoc dl = I == MBB->end() ? DebugLoc() : I->getDebugLoc();
230 BuildMI(*MBB, I, dl, TII->get(X86::LD_Frr)).addReg(STReg);
257 bool processBasicBlock(MachineFunction &MF, MachineBasicBlock &MBB);
277 void setKillFlags(MachineBasicBlock &MBB) const;
315 // Prepare cross-MBB liveness.
350 for (MachineBasicBlock &MBB : MF) {
351 const unsigned Mask = calcLiveInMask(&MBB);
354 // Update MBB ingoing bundle mask.
355 LiveBundles[Bundles->getBundle(MBB.getNumber(), false)].Mask |= Mask;
364 MBB = &BB;
457 DEBUG(dbgs() << "\nSetting up live-ins for BB#" << MBB->getNumber()
458 << " derived from " << MBB->getName() << ".\n");
460 // Get the live-in bundle for MBB.
462 LiveBundles[Bundles->getBundle(MBB->getNumber(), false)];
474 MBB->addLiveIn(X86::ST0+i-1);
483 adjustLiveRegs(calcLiveInMask(MBB), MBB->begin());
484 DEBUG(MBB->dump());
488 /// MBB. Shuffle live registers to match the expected fixed stack of any
493 if (MBB->succ_empty())
496 DEBUG(dbgs() << "Setting up live-outs for BB#" << MBB->getNumber()
497 << " derived from " << MBB->getName() << ".\n");
499 // Get MBB's live-out bundle.
500 unsigned BundleIdx = Bundles->getBundle(MBB->getNumber(), true);
505 MachineBasicBlock::iterator Term = MBB->getFirstTerminator();
796 I = BuildMI(*MBB, ++I, dl, TII->get(X86::ST_FPrr)).addReg(X86::ST0);
827 return BuildMI(*MBB, I, DebugLoc(), TII->get(X86::ST_FPrr))
860 if (Kills && I != MBB->begin()) {
884 BuildMI(*MBB, I, DebugLoc(), TII->get(X86::LD_F0));
1208 MBB->remove(I++);
1209 I = BuildMI(*MBB, I, dl, TII->get(Opcode)).addReg(getSTReg(NotTOS));
1224 MBB->getParent()->DeleteMachineInstr(MI); // Remove the old instruction
1327 BuildMI(*MBB, Inst, MI->getDebugLoc(), TII->get(X86::LD_F0));
1601 Inst = MBB->erase(Inst); // Remove the pseudo instruction
1605 if (Inst == MBB->begin()) {
1607 Inst = BuildMI(*MBB, Inst, DebugLoc(), TII->get(TargetOpcode::KILL));
1612 void FPS::setKillFlags(MachineBasicBlock &MBB) const {
1614 MBB.getParent()->getSubtarget().getRegisterInfo();
1617 LPR.addLiveOuts(&MBB);
1619 for (MachineBasicBlock::reverse_iterator I = MBB.rbegin(), E = MBB.rend();