• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/RISCV/

Lines Matching refs:RISCV

1 //===-- RISCVFrameLowering.cpp - RISCV Frame Information ------------------===//
9 // This file contains the RISCV implementation of TargetFrameLowering class.
37 Register MaxReg = RISCV::NoRegister;
44 if (MaxReg == RISCV::NoRegister)
50 case /*s11*/ RISCV::X27: return 12;
51 case /*s10*/ RISCV::X26: return 11;
52 case /*s9*/ RISCV::X25: return 10;
53 case /*s8*/ RISCV::X24: return 9;
54 case /*s7*/ RISCV::X23: return 8;
55 case /*s6*/ RISCV::X22: return 7;
56 case /*s5*/ RISCV::X21: return 6;
57 case /*s4*/ RISCV::X20: return 5;
58 case /*s3*/ RISCV::X19: return 4;
59 case /*s2*/ RISCV::X18: return 3;
60 case /*s1*/ RISCV::X9: return 2;
61 case /*s0*/ RISCV::X8: return 1;
62 case /*ra*/ RISCV::X1: return 0;
175 BuildMI(MBB, MBBI, DL, TII->get(RISCV::ADDI), DestReg)
180 unsigned Opc = RISCV::ADD;
184 Opc = RISCV::SUB;
187 Register ScratchReg = MRI.createVirtualRegister(&RISCV::GPRRegClass);
197 static Register getFPReg(const RISCVSubtarget &STI) { return RISCV::X8; }
200 static Register getSPReg(const RISCVSubtarget &STI) { return RISCV::X2; }
366 BuildMI(MBB, MBBI, DL, TII->get(RISCV::ANDI), SPReg)
372 MF.getRegInfo().createVirtualRegister(&RISCV::GPRRegClass);
373 BuildMI(MBB, MBBI, DL, TII->get(RISCV::SRLI), VR)
376 BuildMI(MBB, MBBI, DL, TII->get(RISCV::SLLI), SPReg)
385 BuildMI(MBB, MBBI, DL, TII->get(RISCV::ADDI), BPReg)
487 FrameReg = RISCV::X2;
500 FrameReg = RISCV::X2;
526 SavedRegs.set(RISCV::X1);
527 SavedRegs.set(RISCV::X8);
540 static const MCPhysReg CSRegs[] = { RISCV::X1, /* ra */
541 RISCV::X5, RISCV::X6, RISCV::X7, /* t0-t2 */
542 RISCV::X10, RISCV::X11, /* a0-a1, a2-a7 */
543 RISCV::X12, RISCV::X13, RISCV::X14, RISCV::X15, RISCV::X16, RISCV::X17,
544 RISCV::X28, RISCV::X29, RISCV::X30, RISCV::X31, 0 /* t3-t6 */
557 if (RISCV::FPR32RegClass.contains(Regs[i]) ||
558 RISCV::FPR64RegClass.contains(Regs[i]))
568 const TargetRegisterClass *RC = &RISCV::GPRRegClass;
593 Register SPReg = RISCV::X2;
608 if (MI->getOpcode() == RISCV::ADJCALLSTACKDOWN)
670 BuildMI(MBB, MI, DL, TII.get(RISCV::PseudoCALLReg), RISCV::X5)
717 BuildMI(MBB, MI, DL, TII.get(RISCV::PseudoTAIL))
723 if (MI != MBB.end() && MI->getOpcode() == RISCV::PseudoRET) {
746 return !RS.isRegUsed(RISCV::X5);