Home | History | Annotate | Download | only in SystemZ

Lines Matching refs:MBB

109 // block MBB.  IsImplicit says whether this is an explicit operand to the
112 static void addSavedGPR(MachineBasicBlock &MBB, MachineInstrBuilder &MIB,
115 MBB.getParent()->getSubtarget().getRegisterInfo();
117 bool IsLive = MBB.isLiveIn(GPR64) || MBB.isLiveIn(GPR32);
121 MBB.addLiveIn(GPR64);
126 spillCalleeSavedRegisters(MachineBasicBlock &MBB,
133 MachineFunction &MF = *MBB.getParent();
178 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(SystemZ::STMG));
181 addSavedGPR(MBB, MIB, LowGPR, false);
182 addSavedGPR(MBB, MIB, HighGPR, false);
192 addSavedGPR(MBB, MIB, Reg, true);
198 addSavedGPR(MBB, MIB, SystemZ::ArgGPRs[I], true);
205 MBB.addLiveIn(Reg);
206 TII->storeRegToStackSlot(MBB, MBBI, Reg, true, CSI[I].getFrameIdx(),
215 restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
222 MachineFunction &MF = *MBB.getParent();
226 DebugLoc DL = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc();
232 TII->loadRegFromStackSlot(MBB, MBBI, Reg, CSI[I].getFrameIdx(),
248 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(SystemZ::LMG));
285 // Emit instructions before MBBI (in MBB) to add NumBytes to Reg.
286 static void emitIncrement(MachineBasicBlock &MBB,
306 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII->get(Opcode), Reg)
315 MachineBasicBlock &MBB) const {
316 assert(&MF.front() == &MBB && "Shrink-wrapping not yet supported");
321 MachineBasicBlock::iterator MBBI = MBB.begin();
336 if (MBBI != MBB.end() && MBBI->getOpcode() == SystemZ::STMG)
348 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
358 emitIncrement(MBB, MBBI, DL, SystemZ::R15D, Delta, ZII);
363 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
370 BuildMI(MBB, MBBI, DL, ZII->get(SystemZ::LGR), SystemZ::R11D)
377 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
392 if (MBBI != MBB.end() &&
413 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
419 MachineBasicBlock &MBB) const {
420 MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
444 emitIncrement(MBB, MBBI, DL, MBBI->getOperand(AddrOpNo).getReg(),
455 emitIncrement(MBB, MBBI, DL, SystemZ::R15D, StackSize, ZII);
516 MachineBasicBlock &MBB,
523 MBB.erase(MI);