Lines Matching refs:AVR
64 BuildMI(MBB, MBBI, DL, TII.get(AVR::BSETs)) in emitPrologue()
71 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHWRr)) in emitPrologue()
72 .addReg(AVR::R29R28, RegState::Kill) in emitPrologue()
80 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHWRr)) in emitPrologue()
81 .addReg(AVR::R1R0, RegState::Kill) in emitPrologue()
84 BuildMI(MBB, MBBI, DL, TII.get(AVR::INRdA), AVR::R0) in emitPrologue()
87 BuildMI(MBB, MBBI, DL, TII.get(AVR::PUSHRr)) in emitPrologue()
88 .addReg(AVR::R0, RegState::Kill) in emitPrologue()
90 BuildMI(MBB, MBBI, DL, TII.get(AVR::EORRdRr)) in emitPrologue()
91 .addReg(AVR::R0, RegState::Define) in emitPrologue()
92 .addReg(AVR::R0, RegState::Kill) in emitPrologue()
93 .addReg(AVR::R0, RegState::Kill) in emitPrologue()
109 (MBBI->getOpcode() == AVR::PUSHRr || MBBI->getOpcode() == AVR::PUSHWRr)) { in emitPrologue()
114 BuildMI(MBB, MBBI, DL, TII.get(AVR::SPREAD), AVR::R29R28) in emitPrologue()
115 .addReg(AVR::SP) in emitPrologue()
121 I->addLiveIn(AVR::R29R28); in emitPrologue()
129 unsigned Opcode = (isUInt<6>(FrameSize)) ? AVR::SBIWRdK : AVR::SUBIWRdK; in emitPrologue()
131 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(Opcode), AVR::R29R28) in emitPrologue()
132 .addReg(AVR::R29R28, RegState::Kill) in emitPrologue()
139 BuildMI(MBB, MBBI, DL, TII.get(AVR::SPWRITE), AVR::SP) in emitPrologue()
140 .addReg(AVR::R29R28) in emitPrologue()
170 BuildMI(MBB, MBBI, DL, TII.get(AVR::POPRd), AVR::R0); in emitEpilogue()
171 BuildMI(MBB, MBBI, DL, TII.get(AVR::OUTARr)) in emitEpilogue()
173 .addReg(AVR::R0, RegState::Kill); in emitEpilogue()
174 BuildMI(MBB, MBBI, DL, TII.get(AVR::POPWRd), AVR::R1R0); in emitEpilogue()
178 BuildMI(MBB, MBBI, DL, TII.get(AVR::POPWRd), AVR::R29R28); in emitEpilogue()
190 if (Opc != AVR::POPRd && Opc != AVR::POPWRd && !PI->isTerminator()) { in emitEpilogue()
201 Opcode = AVR::ADIWRdK; in emitEpilogue()
203 Opcode = AVR::SUBIWRdK; in emitEpilogue()
208 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(Opcode), AVR::R29R28) in emitEpilogue()
209 .addReg(AVR::R29R28, RegState::Kill) in emitEpilogue()
215 BuildMI(MBB, MBBI, DL, TII.get(AVR::SPWRITE), AVR::SP) in emitEpilogue()
216 .addReg(AVR::R29R28, RegState::Kill); in emitEpilogue()
265 BuildMI(MBB, MI, DL, TII.get(AVR::PUSHRr)) in spillCalleeSavedRegisters()
295 BuildMI(MBB, MI, DL, TII.get(AVR::POPRd), Reg); in restoreCalleeSavedRegisters()
318 if (Opcode != AVR::STDSPQRr && Opcode != AVR::STDWSPQRr) { in fixStackStores()
323 assert(MI.getOperand(0).getReg() == AVR::SP && in fixStackStores()
332 if (Opcode == AVR::STDWSPQRr) { in fixStackStores()
333 BuildMI(MBB, I, MI.getDebugLoc(), TII.get(AVR::PUSHRr)) in fixStackStores()
334 .addReg(TRI.getSubReg(SrcReg, AVR::sub_hi), in fixStackStores()
336 BuildMI(MBB, I, MI.getDebugLoc(), TII.get(AVR::PUSHRr)) in fixStackStores()
337 .addReg(TRI.getSubReg(SrcReg, AVR::sub_lo), in fixStackStores()
340 BuildMI(MBB, I, MI.getDebugLoc(), TII.get(AVR::PUSHRr)) in fixStackStores()
352 (Opcode == AVR::STDWSPQRr) ? AVR::STDWPtrQRr : AVR::STDPtrQRr; in fixStackStores()
355 MI.getOperand(0).setReg(AVR::R29R28); in fixStackStores()
395 addOpcode = AVR::ADIWRdK; in eliminateCallFramePseudoInstr()
397 addOpcode = AVR::SUBIWRdK; in eliminateCallFramePseudoInstr()
402 BuildMI(MBB, MI, DL, TII.get(AVR::SPREAD), AVR::R31R30).addReg(AVR::SP); in eliminateCallFramePseudoInstr()
404 MachineInstr *New = BuildMI(MBB, MI, DL, TII.get(addOpcode), AVR::R31R30) in eliminateCallFramePseudoInstr()
405 .addReg(AVR::R31R30, RegState::Kill) in eliminateCallFramePseudoInstr()
409 BuildMI(MBB, MI, DL, TII.get(AVR::SPWRITE), AVR::SP) in eliminateCallFramePseudoInstr()
410 .addReg(AVR::R31R30, RegState::Kill); in eliminateCallFramePseudoInstr()
465 if ((Opcode != AVR::LDDRdPtrQ) && (Opcode != AVR::LDDWRdPtrQ) && in runOnMachineFunction()
466 (Opcode != AVR::STDPtrQRr) && (Opcode != AVR::STDWPtrQRr)) { in runOnMachineFunction()
515 MF.getRegInfo().createVirtualRegister(&AVR::DREGSRegClass); in runOnMachineFunction()
519 BuildMI(EntryMBB, MBBI, DL, TII.get(AVR::COPY), SPCopy).addReg(AVR::SP); in runOnMachineFunction()
527 BuildMI(MBB, MBBI, DL, TII.get(AVR::COPY), AVR::SP) in runOnMachineFunction()