Lines Matching refs:AVR
57 Reserved.set(AVR::R0); in getReservedRegs()
58 Reserved.set(AVR::R1); in getReservedRegs()
59 Reserved.set(AVR::R1R0); in getReservedRegs()
62 Reserved.set(AVR::SPL); in getReservedRegs()
63 Reserved.set(AVR::SPH); in getReservedRegs()
64 Reserved.set(AVR::SP); in getReservedRegs()
75 Reserved.set(AVR::R28); in getReservedRegs()
76 Reserved.set(AVR::R29); in getReservedRegs()
77 Reserved.set(AVR::R29R28); in getReservedRegs()
87 return &AVR::DREGSRegClass; in getLargestLegalSuperClass()
91 return &AVR::GPR8RegClass; in getLargestLegalSuperClass()
103 if ((Opcode != AVR::SUBIWRdK) && (Opcode != AVR::ADIWRdK)) { in foldFrameOffset()
115 case AVR::SUBIWRdK: in foldFrameOffset()
118 case AVR::ADIWRdK: in foldFrameOffset()
152 if (MI.getOpcode() == AVR::FRMIDX) { in eliminateFrameIndex()
153 MI.setDesc(TII.get(AVR::MOVWRdRr)); in eliminateFrameIndex()
154 MI.getOperand(FIOperandNum).ChangeToRegister(AVR::R29R28, false); in eliminateFrameIndex()
162 assert(DstReg != AVR::R29R28 && "Dest reg cannot be the frame pointer"); in eliminateFrameIndex()
179 case AVR::R25R24: in eliminateFrameIndex()
180 case AVR::R27R26: in eliminateFrameIndex()
181 case AVR::R31R30: { in eliminateFrameIndex()
183 Opcode = AVR::ADIWRdK; in eliminateFrameIndex()
190 Opcode = AVR::SUBIWRdK; in eliminateFrameIndex()
208 unsigned AddOpc = AVR::ADIWRdK, SubOpc = AVR::SBIWRdK; in eliminateFrameIndex()
213 AddOpc = AVR::SUBIWRdK; in eliminateFrameIndex()
214 SubOpc = AVR::SUBIWRdK; in eliminateFrameIndex()
222 BuildMI(MBB, II, dl, TII.get(AVR::INRdA), AVR::R0).addImm(0x3f); in eliminateFrameIndex()
224 MachineInstr *New = BuildMI(MBB, II, dl, TII.get(AddOpc), AVR::R29R28) in eliminateFrameIndex()
225 .addReg(AVR::R29R28, RegState::Kill) in eliminateFrameIndex()
230 BuildMI(MBB, std::next(II), dl, TII.get(AVR::OUTARr)) in eliminateFrameIndex()
232 .addReg(AVR::R0, RegState::Kill); in eliminateFrameIndex()
236 New = BuildMI(MBB, std::next(II), dl, TII.get(SubOpc), AVR::R29R28) in eliminateFrameIndex()
237 .addReg(AVR::R29R28, RegState::Kill) in eliminateFrameIndex()
243 MI.getOperand(FIOperandNum).ChangeToRegister(AVR::R29R28, false); in eliminateFrameIndex()
252 return AVR::R28; in getFrameRegister()
255 return AVR::SP; in getFrameRegister()
264 return &AVR::PTRDISPREGSRegClass; in getPointerRegClass()
270 assert(AVR::DREGSRegClass.contains(Reg) && "can only split 16-bit registers"); in splitReg()
272 LoReg = getSubReg(Reg, AVR::sub_lo); in splitReg()
273 HiReg = getSubReg(Reg, AVR::sub_hi); in splitReg()