Lines Matching refs:AVR
60 Reserved.set(AVR::R0); in getReservedRegs()
61 Reserved.set(AVR::R1); in getReservedRegs()
62 Reserved.set(AVR::R1R0); in getReservedRegs()
65 Reserved.set(AVR::SPL); in getReservedRegs()
66 Reserved.set(AVR::SPH); in getReservedRegs()
67 Reserved.set(AVR::SP); in getReservedRegs()
78 Reserved.set(AVR::R28); in getReservedRegs()
79 Reserved.set(AVR::R29); in getReservedRegs()
80 Reserved.set(AVR::R29R28); in getReservedRegs()
90 return &AVR::DREGSRegClass; in getLargestLegalSuperClass()
94 return &AVR::GPR8RegClass; in getLargestLegalSuperClass()
107 if ((Opcode != AVR::SUBIWRdK) && (Opcode != AVR::ADIWRdK)) { in foldFrameOffset()
119 case AVR::SUBIWRdK: in foldFrameOffset()
122 case AVR::ADIWRdK: in foldFrameOffset()
156 if (MI.getOpcode() == AVR::FRMIDX) { in eliminateFrameIndex()
157 MI.setDesc(TII.get(AVR::MOVWRdRr)); in eliminateFrameIndex()
158 MI.getOperand(FIOperandNum).ChangeToRegister(AVR::R29R28, false); in eliminateFrameIndex()
166 assert(DstReg != AVR::R29R28 && "Dest reg cannot be the frame pointer"); in eliminateFrameIndex()
183 case AVR::R25R24: in eliminateFrameIndex()
184 case AVR::R27R26: in eliminateFrameIndex()
185 case AVR::R31R30: { in eliminateFrameIndex()
187 Opcode = AVR::ADIWRdK; in eliminateFrameIndex()
194 Opcode = AVR::SUBIWRdK; in eliminateFrameIndex()
212 unsigned AddOpc = AVR::ADIWRdK, SubOpc = AVR::SBIWRdK; in eliminateFrameIndex()
217 AddOpc = AVR::SUBIWRdK; in eliminateFrameIndex()
218 SubOpc = AVR::SUBIWRdK; in eliminateFrameIndex()
226 BuildMI(MBB, II, dl, TII.get(AVR::INRdA), AVR::R0).addImm(0x3f); in eliminateFrameIndex()
228 MachineInstr *New = BuildMI(MBB, II, dl, TII.get(AddOpc), AVR::R29R28) in eliminateFrameIndex()
229 .addReg(AVR::R29R28, RegState::Kill) in eliminateFrameIndex()
234 BuildMI(MBB, std::next(II), dl, TII.get(AVR::OUTARr)) in eliminateFrameIndex()
236 .addReg(AVR::R0, RegState::Kill); in eliminateFrameIndex()
240 BuildMI(MBB, std::next(II), dl, TII.get(SubOpc), AVR::R29R28) in eliminateFrameIndex()
241 .addReg(AVR::R29R28, RegState::Kill) in eliminateFrameIndex()
247 MI.getOperand(FIOperandNum).ChangeToRegister(AVR::R29R28, false); in eliminateFrameIndex()
256 return AVR::R28; in getFrameRegister()
259 return AVR::SP; in getFrameRegister()
268 return &AVR::PTRDISPREGSRegClass; in getPointerRegClass()
273 assert(AVR::DREGSRegClass.contains(Reg) && "can only split 16-bit registers"); in splitReg()
275 LoReg = getSubReg(Reg, AVR::sub_lo); in splitReg()
276 HiReg = getSubReg(Reg, AVR::sub_hi); in splitReg()
286 if(this->getRegClass(AVR::PTRDISPREGSRegClassID)->hasSubClassEq(NewRC)) { in shouldCoalesce()