Lines Matching refs:MBB

53                                     MachineBasicBlock &MBB) const {  in emitPrologue()
54 MachineBasicBlock::iterator MBBI = MBB.begin(); in emitPrologue()
55 DebugLoc DL = (MBBI != MBB.end()) ? MBBI->getDebugLoc() : DebugLoc(); in emitPrologue()
63 BuildMI(MBB, MBBI, DL, TII.get(AVR::BSETs)) in emitPrologue()
71 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHWRr)) in emitPrologue()
75 BuildMI(MBB, MBBI, DL, TII.get(AVR::INRdA), AVR::R0) in emitPrologue()
78 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHRr)) in emitPrologue()
81 BuildMI(MBB, MBBI, DL, TII.get(AVR::EORRdRr)) in emitPrologue()
98 (MBBI != MBB.end()) && MBBI->getFlag(MachineInstr::FrameSetup) && in emitPrologue()
104 BuildMI(MBB, MBBI, DL, TII.get(AVR::SPREAD), AVR::R29R28) in emitPrologue()
120 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(Opcode), AVR::R29R28) in emitPrologue()
128 BuildMI(MBB, MBBI, DL, TII.get(AVR::SPWRITE), AVR::SP) in emitPrologue()
133 static void restoreStatusRegister(MachineFunction &MF, MachineBasicBlock &MBB) { in restoreStatusRegister() argument
136 MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr(); in restoreStatusRegister()
145 BuildMI(MBB, MBBI, DL, TII.get(AVR::POPRd), AVR::R0); in restoreStatusRegister()
146 BuildMI(MBB, MBBI, DL, TII.get(AVR::OUTARr)) in restoreStatusRegister()
149 BuildMI(MBB, MBBI, DL, TII.get(AVR::POPWRd), AVR::R1R0); in restoreStatusRegister()
154 MachineBasicBlock &MBB) const { in emitEpilogue()
163 MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr(); in emitEpilogue()
175 restoreStatusRegister(MF, MBB); in emitEpilogue()
180 while (MBBI != MBB.begin()) { in emitEpilogue()
203 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(Opcode), AVR::R29R28) in emitEpilogue()
211 BuildMI(MBB, MBBI, DL, TII.get(AVR::SPWRITE), AVR::SP) in emitEpilogue()
214 restoreStatusRegister(MF, MBB); in emitEpilogue()
235 MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, in spillCalleeSavedRegisters() argument
242 DebugLoc DL = MBB.findDebugLoc(MI); in spillCalleeSavedRegisters()
243 MachineFunction &MF = *MBB.getParent(); in spillCalleeSavedRegisters()
250 bool IsNotLiveIn = !MBB.isLiveIn(Reg); in spillCalleeSavedRegisters()
259 MBB.addLiveIn(Reg); in spillCalleeSavedRegisters()
263 BuildMI(MBB, MI, DL, TII.get(AVR::PUSHRr)) in spillCalleeSavedRegisters()
275 MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, in restoreCalleeSavedRegisters() argument
281 DebugLoc DL = MBB.findDebugLoc(MI); in restoreCalleeSavedRegisters()
282 const MachineFunction &MF = *MBB.getParent(); in restoreCalleeSavedRegisters()
292 BuildMI(MBB, MI, DL, TII.get(AVR::POPRd), Reg); in restoreCalleeSavedRegisters()
300 static void fixStackStores(MachineBasicBlock &MBB, in fixStackStores() argument
305 llvm::make_early_inc_range(llvm::make_range(StartMI, MBB.end()))) { in fixStackStores()
329 MachineFunction &MF, MachineBasicBlock &MBB, in eliminateCallFramePseudoInstr() argument
335 return MBB.erase(MI); in eliminateCallFramePseudoInstr()
343 return MBB.erase(MI); in eliminateCallFramePseudoInstr()
354 BuildMI(MBB, MI, DL, TII.get(AVR::SPREAD), AVR::R31R30).addReg(AVR::SP); in eliminateCallFramePseudoInstr()
357 BuildMI(MBB, MI, DL, TII.get(AVR::SUBIWRdK), AVR::R31R30) in eliminateCallFramePseudoInstr()
362 BuildMI(MBB, MI, DL, TII.get(AVR::SPWRITE), AVR::SP).addReg(AVR::R31R30); in eliminateCallFramePseudoInstr()
366 fixStackStores(MBB, MI, TII); in eliminateCallFramePseudoInstr()
385 BuildMI(MBB, MI, DL, TII.get(AVR::SPREAD), AVR::R31R30).addReg(AVR::SP); in eliminateCallFramePseudoInstr()
387 MachineInstr *New = BuildMI(MBB, MI, DL, TII.get(AddOpcode), AVR::R31R30) in eliminateCallFramePseudoInstr()
392 BuildMI(MBB, MI, DL, TII.get(AVR::SPWRITE), AVR::SP) in eliminateCallFramePseudoInstr()
396 return MBB.erase(MI); in eliminateCallFramePseudoInstr()