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()
136 unsigned Opc = ARC::SUB_rrlimm; in emitPrologue()
138 Opc = ARC::SUB_rru6; in emitPrologue()
140 Opc = ARC::SUB_rrs12; in emitPrologue()
141 BuildMI(MBB, MBBI, dl, TII->get(Opc), ARC::SP) in emitPrologue()
142 .addReg(ARC::SP) in emitPrologue()
147 BuildMI(MBB, MBBI, dl, TII->get(ARC::ST_AW_rs9)) in emitPrologue()
148 .addReg(ARC::SP, RegState::Define) in emitPrologue()
149 .addReg(ARC::FP) in emitPrologue()
150 .addReg(ARC::SP) in emitPrologue()
154 if (UseSaveRestoreFunclet && Last > ARC::R14) { in emitPrologue()
157 StackSlotsUsedByFunclet = Last - ARC::R12; in emitPrologue()
158 BuildMI(MBB, MBBI, dl, TII->get(ARC::PUSH_S_BLINK)); in emitPrologue()
159 BuildMI(MBB, MBBI, dl, TII->get(ARC::SUB_rru6)) in emitPrologue()
160 .addReg(ARC::SP) in emitPrologue()
161 .addReg(ARC::SP) in emitPrologue()
163 BuildMI(MBB, MBBI, dl, TII->get(ARC::BL)) in emitPrologue()
164 .addExternalSymbol(store_funclet_name[Last - ARC::R15]) in emitPrologue()
165 .addReg(ARC::BLINK, RegState::Implicit | RegState::Kill); in emitPrologue()
172 BuildMI(MBB, MBBI, dl, TII->get(ARC::PUSH_S_BLINK)); in emitPrologue()
181 -(MFI.getStackSize() - AlreadyAdjusted), ARC::SP); in emitPrologue()
186 TII->get(isUInt<6>(MFI.getStackSize()) ? ARC::ADD_rru6 in emitPrologue()
187 : ARC::ADD_rrlimm), in emitPrologue()
188 ARC::FP) in emitPrologue()
189 .addReg(ARC::SP) in emitPrologue()
206 nullptr, MRI->getDwarfRegNum(ARC::FP, true), CurOffset)); in emitPrologue()
215 nullptr, MRI->getDwarfRegNum(ARC::BLINK, true), CurOffset)); in emitPrologue()
225 if ((hasFP(MF) && Reg == ARC::FP) || (MFI.hasCalls() && Reg == ARC::BLINK)) in emitPrologue()
253 unsigned Opc = ARC::SUB_rrlimm; in emitEpilogue()
255 Opc = ARC::SUB_rru6; in emitEpilogue()
256 BuildMI(MBB, MBBI, DebugLoc(), TII->get(Opc), ARC::SP) in emitEpilogue()
257 .addReg(ARC::FP) in emitEpilogue()
267 if (UseSaveRestoreFunclet && Last > ARC::R14) { in emitEpilogue()
269 StackSlotsUsedByFunclet = Last - ARC::R12; in emitEpilogue()
281 unsigned Opc = ARC::ADD_rrlimm; in emitEpilogue()
283 Opc = ARC::ADD_rru6; in emitEpilogue()
285 Opc = ARC::ADD_rrs12; in emitEpilogue()
286 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(Opc), ARC::SP) in emitEpilogue()
287 .addReg(ARC::SP) in emitEpilogue()
293 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(ARC::BL)) in emitEpilogue()
294 .addExternalSymbol(load_funclet_name[Last - ARC::R15]) in emitEpilogue()
295 .addReg(ARC::BLINK, RegState::Implicit | RegState::Kill); in emitEpilogue()
296 unsigned Opc = ARC::ADD_rrlimm; in emitEpilogue()
298 Opc = ARC::ADD_rru6; in emitEpilogue()
300 Opc = ARC::ADD_rrs12; in emitEpilogue()
301 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(Opc), ARC::SP) in emitEpilogue()
302 .addReg(ARC::SP) in emitEpilogue()
307 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(ARC::POP_S_BLINK)); in emitEpilogue()
311 BuildMI(MBB, MBBI, MBB.findDebugLoc(MBBI), TII->get(ARC::LD_AB_rs9)) in emitEpilogue()
312 .addReg(ARC::FP, RegState::Define) in emitEpilogue()
313 .addReg(ARC::SP, RegState::Define) in emitEpilogue()
314 .addReg(ARC::SP) in emitEpilogue()
323 unsigned Opc = ARC::ADD_rrlimm; in emitEpilogue()
325 Opc = ARC::ADD_rru6; in emitEpilogue()
327 Opc = ARC::ADD_rrs12; in emitEpilogue()
329 .addReg(ARC::SP) in emitEpilogue()
330 .addReg(ARC::SP) in emitEpilogue()
361 if (MFI.hasCalls() || (UseSaveRestoreFunclet && Last > ARC::R14)) { in assignCalleeSavedSpillSlots()
371 for (unsigned Which = Last; Which > ARC::R12; Which--) { in assignCalleeSavedSpillSlots()
384 if (I.getReg() > ARC::R12) in assignCalleeSavedSpillSlots()
407 if (UseSaveRestoreFunclet && Last > ARC::R14) { in spillCalleeSavedRegisters()
424 if (UseSaveRestoreFunclet && Last > ARC::R14) { in restoreCalleeSavedRegisters()
439 const TargetRegisterClass *RC = &ARC::GPR32RegClass; in processFunctionBeforeFrameFinalized()
455 Opc = IsAdd ? ARC::ADD_rru6 : ARC::SUB_rru6; in emitRegUpdate()
457 Opc = IsAdd ? ARC::ADD_rrs12 : ARC::SUB_rrs12; in emitRegUpdate()
459 Opc = IsAdd ? ARC::ADD_rrlimm : ARC::SUB_rrlimm; in emitRegUpdate()
476 if (Amt > AFI->MaxCallStackReq && Old.getOpcode() == ARC::ADJCALLSTACKDOWN) in eliminateCallFramePseudoInstr()
480 assert((Old.getOpcode() == ARC::ADJCALLSTACKDOWN || in eliminateCallFramePseudoInstr()
481 Old.getOpcode() == ARC::ADJCALLSTACKUP) && in eliminateCallFramePseudoInstr()
483 bool IsAdd = (Old.getOpcode() == ARC::ADJCALLSTACKUP); in eliminateCallFramePseudoInstr()
484 emitRegUpdate(MBB, I, dl, ARC::SP, Amt, IsAdd, TII); in eliminateCallFramePseudoInstr()