Lines Matching refs:AVR
61 Reserved.set(AVR::R0); in getReservedRegs()
62 Reserved.set(AVR::R1); in getReservedRegs()
63 Reserved.set(AVR::R1R0); in getReservedRegs()
66 Reserved.set(AVR::SPL); in getReservedRegs()
67 Reserved.set(AVR::SPH); in getReservedRegs()
68 Reserved.set(AVR::SP); in getReservedRegs()
73 for (unsigned Reg = AVR::R2; Reg <= AVR::R17; Reg++) in getReservedRegs()
76 for (unsigned Reg = AVR::R3R2; Reg <= AVR::R18R17; Reg++) in getReservedRegs()
89 Reserved.set(AVR::R28); in getReservedRegs()
90 Reserved.set(AVR::R29); in getReservedRegs()
91 Reserved.set(AVR::R29R28); in getReservedRegs()
101 return &AVR::DREGSRegClass; in getLargestLegalSuperClass()
105 return &AVR::GPR8RegClass; in getLargestLegalSuperClass()
118 if ((Opcode != AVR::SUBIWRdK) && (Opcode != AVR::ADIWRdK)) { in foldFrameOffset()
130 case AVR::SUBIWRdK: in foldFrameOffset()
133 case AVR::ADIWRdK: in foldFrameOffset()
168 if (MI.getOpcode() == AVR::FRMIDX) { in eliminateFrameIndex()
169 MI.setDesc(TII.get(AVR::MOVWRdRr)); in eliminateFrameIndex()
170 MI.getOperand(FIOperandNum).ChangeToRegister(AVR::R29R28, false); in eliminateFrameIndex()
178 assert(DstReg != AVR::R29R28 && "Dest reg cannot be the frame pointer"); in eliminateFrameIndex()
195 case AVR::R25R24: in eliminateFrameIndex()
196 case AVR::R27R26: in eliminateFrameIndex()
197 case AVR::R31R30: { in eliminateFrameIndex()
199 Opcode = AVR::ADIWRdK; in eliminateFrameIndex()
206 Opcode = AVR::SUBIWRdK; in eliminateFrameIndex()
225 unsigned AddOpc = AVR::ADIWRdK, SubOpc = AVR::SBIWRdK; in eliminateFrameIndex()
230 AddOpc = AVR::SUBIWRdK; in eliminateFrameIndex()
231 SubOpc = AVR::SUBIWRdK; in eliminateFrameIndex()
239 BuildMI(MBB, II, dl, TII.get(AVR::INRdA), AVR::R0) in eliminateFrameIndex()
242 MachineInstr *New = BuildMI(MBB, II, dl, TII.get(AddOpc), AVR::R29R28) in eliminateFrameIndex()
243 .addReg(AVR::R29R28, RegState::Kill) in eliminateFrameIndex()
248 BuildMI(MBB, std::next(II), dl, TII.get(AVR::OUTARr)) in eliminateFrameIndex()
250 .addReg(AVR::R0, RegState::Kill); in eliminateFrameIndex()
254 BuildMI(MBB, std::next(II), dl, TII.get(SubOpc), AVR::R29R28) in eliminateFrameIndex()
255 .addReg(AVR::R29R28, RegState::Kill) in eliminateFrameIndex()
261 MI.getOperand(FIOperandNum).ChangeToRegister(AVR::R29R28, false); in eliminateFrameIndex()
270 return AVR::R28; in getFrameRegister()
273 return AVR::SP; in getFrameRegister()
282 return &AVR::PTRDISPREGSRegClass; in getPointerRegClass()
287 assert(AVR::DREGSRegClass.contains(Reg) && "can only split 16-bit registers"); in splitReg()
289 LoReg = getSubReg(Reg, AVR::sub_lo); in splitReg()
290 HiReg = getSubReg(Reg, AVR::sub_hi); in splitReg()
297 if (this->getRegClass(AVR::PTRDISPREGSRegClassID)->hasSubClassEq(NewRC)) { in shouldCoalesce()