Lines Matching refs:ARC
66 AdjOp = Positive ? ARC::ADD_rru6 : ARC::SUB_rru6; in generateStackAdjustment()
68 AdjOp = Positive ? ARC::ADD_rrs12 : ARC::SUB_rrs12; in generateStackAdjustment()
70 AdjOp = Positive ? ARC::ADD_rrlimm : ARC::SUB_rrlimm; in generateStackAdjustment()
80 assert(Reg.getReg() >= ARC::R13 && Reg.getReg() <= ARC::R25 && in determineLastCalleeSave()
93 SavedRegs.set(ARC::BLINK); in determineCalleeSaves()
109 ScalarAlloc, ARC::SP); in adjustStackToMatchRecords()
137 unsigned Opc = ARC::SUB_rrlimm; in emitPrologue()
139 Opc = ARC::SUB_rru6; in emitPrologue()
141 Opc = ARC::SUB_rrs12; in emitPrologue()
142 BuildMI(MBB, MBBI, dl, TII->get(Opc), ARC::SP) in emitPrologue()
143 .addReg(ARC::SP) in emitPrologue()
148 BuildMI(MBB, MBBI, dl, TII->get(ARC::ST_AW_rs9)) in emitPrologue()
149 .addReg(ARC::SP, RegState::Define) in emitPrologue()
150 .addReg(ARC::FP) in emitPrologue()
151 .addReg(ARC::SP) in emitPrologue()
155 if (UseSaveRestoreFunclet && Last > ARC::R14) { in emitPrologue()
158 StackSlotsUsedByFunclet = Last - ARC::R12; in emitPrologue()
159 BuildMI(MBB, MBBI, dl, TII->get(ARC::PUSH_S_BLINK)); in emitPrologue()
160 BuildMI(MBB, MBBI, dl, TII->get(ARC::SUB_rru6)) in emitPrologue()
161 .addReg(ARC::SP) in emitPrologue()
162 .addReg(ARC::SP) in emitPrologue()
164 BuildMI(MBB, MBBI, dl, TII->get(ARC::BL)) in emitPrologue()
165 .addExternalSymbol(store_funclet_name[Last - ARC::R15]) in emitPrologue()
166 .addReg(ARC::BLINK, RegState::Implicit | RegState::Kill); in emitPrologue()
173 BuildMI(MBB, MBBI, dl, TII->get(ARC::PUSH_S_BLINK)); in emitPrologue()
182 -(MFI.getStackSize() - AlreadyAdjusted), ARC::SP); in emitPrologue()
187 TII->get(isUInt<6>(MFI.getStackSize()) ? ARC::ADD_rru6 in emitPrologue()
188 : ARC::ADD_rrlimm), in emitPrologue()
189 ARC::FP) in emitPrologue()
190 .addReg(ARC::SP) in emitPrologue()
207 nullptr, MRI->getDwarfRegNum(ARC::FP, true), CurOffset)); in emitPrologue()
216 nullptr, MRI->getDwarfRegNum(ARC::BLINK, true), CurOffset)); in emitPrologue()
226 if ((hasFP(MF) && Reg == ARC::FP) || (MFI.hasCalls() && Reg == ARC::BLINK)) in emitPrologue()
254 unsigned Opc = ARC::SUB_rrlimm; in emitEpilogue()
256 Opc = ARC::SUB_rru6; in emitEpilogue()
257 BuildMI(MBB, MBBI, DebugLoc(), TII->get(Opc), ARC::SP) in emitEpilogue()
258 .addReg(ARC::FP) in emitEpilogue()
268 if (UseSaveRestoreFunclet && Last > ARC::R14) { in emitEpilogue()
270 StackSlotsUsedByFunclet = Last - ARC::R12; in emitEpilogue()
282 unsigned Opc = ARC::ADD_rrlimm; in emitEpilogue()
284 Opc = ARC::ADD_rru6; in emitEpilogue()
286 Opc = ARC::ADD_rrs12; in emitEpilogue()
287 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(Opc), ARC::SP) in emitEpilogue()
288 .addReg(ARC::SP) in emitEpilogue()
294 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(ARC::BL)) in emitEpilogue()
295 .addExternalSymbol(load_funclet_name[Last - ARC::R15]) in emitEpilogue()
296 .addReg(ARC::BLINK, RegState::Implicit | RegState::Kill); in emitEpilogue()
297 unsigned Opc = ARC::ADD_rrlimm; in emitEpilogue()
299 Opc = ARC::ADD_rru6; in emitEpilogue()
301 Opc = ARC::ADD_rrs12; in emitEpilogue()
302 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(Opc), ARC::SP) in emitEpilogue()
303 .addReg(ARC::SP) in emitEpilogue()
308 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(ARC::POP_S_BLINK)); in emitEpilogue()
312 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(ARC::LD_AB_rs9)) in emitEpilogue()
313 .addReg(ARC::FP, RegState::Define) in emitEpilogue()
314 .addReg(ARC::SP, RegState::Define) in emitEpilogue()
315 .addReg(ARC::SP) in emitEpilogue()
324 unsigned Opc = ARC::ADD_rrlimm; in emitEpilogue()
326 Opc = ARC::ADD_rru6; in emitEpilogue()
328 Opc = ARC::ADD_rrs12; in emitEpilogue()
330 .addReg(ARC::SP) in emitEpilogue()
331 .addReg(ARC::SP) in emitEpilogue()
362 if (MFI.hasCalls() || (UseSaveRestoreFunclet && Last > ARC::R14)) { in assignCalleeSavedSpillSlots()
372 for (unsigned Which = Last; Which > ARC::R12; Which--) { in assignCalleeSavedSpillSlots()
385 if (I.getReg() > ARC::R12) in assignCalleeSavedSpillSlots()
408 if (UseSaveRestoreFunclet && Last > ARC::R14) { in spillCalleeSavedRegisters()
425 if (UseSaveRestoreFunclet && Last > ARC::R14) { in restoreCalleeSavedRegisters()
440 const TargetRegisterClass *RC = &ARC::GPR32RegClass; in processFunctionBeforeFrameFinalized()
456 Opc = IsAdd ? ARC::ADD_rru6 : ARC::SUB_rru6; in emitRegUpdate()
458 Opc = IsAdd ? ARC::ADD_rrs12 : ARC::SUB_rrs12; in emitRegUpdate()
460 Opc = IsAdd ? ARC::ADD_rrlimm : ARC::SUB_rrlimm; in emitRegUpdate()
477 if (Amt > AFI->MaxCallStackReq && Old.getOpcode() == ARC::ADJCALLSTACKDOWN) in eliminateCallFramePseudoInstr()
481 assert((Old.getOpcode() == ARC::ADJCALLSTACKDOWN || in eliminateCallFramePseudoInstr()
482 Old.getOpcode() == ARC::ADJCALLSTACKUP) && in eliminateCallFramePseudoInstr()
484 bool IsAdd = (Old.getOpcode() == ARC::ADJCALLSTACKUP); in eliminateCallFramePseudoInstr()
485 emitRegUpdate(MBB, I, dl, ARC::SP, Amt, IsAdd, TII); in eliminateCallFramePseudoInstr()