HORIZON HASKELLDocslts/ghc-10.0.x8174fa42026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8174fa4 · 2026-10-11

Moduleghc-10.0.0.20260917GHC2024

GHC.CmmToAsm.RV64.Regs

  • 2 types
  • 42 values

Registers

36 declarations
valuex0RegNo :: RegNo
#

First integer register number. zero register.

valuex31RegNo :: RegNo
#

Last integer register number. Used as TMP (IP) register.

valuet6RegNo :: RegNo
#

Last integer register number. Used as TMP (IP) register.

valuetmpRegNo :: RegNo
#

Last integer register number. Used as TMP (IP) register.

Registers available to the register allocator.

These are all registers minus those with a fixed role in RISCV ABI (zero, lr, sp, gp, tp, fp, tmp) and GHC RTS (Base, Sp, Hp, HpLim, R1..R8, F1..F6, D1..D6.)

valueallGpArgRegs :: [Reg]
#

Integer argument registers according to the calling convention

valueallFpArgRegs :: [Reg]
#

Floating point argument registers according to the calling convention

Addressing modes

1 declaration
datadata AddrMode
#

Addressing modes

Constructors

  • AddrRegImm Reg Imm

    A register plus some immediate integer, e.g. 8(sp) or -16(sp). The offset needs to fit into 12bits.

  • AddrReg Reg

    A register

Instances2Eq, Show
  • Eq AddrModeDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.RV64.Regs
  • Show AddrModeDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.RV64.Regs

Immediates

7 declarations

regSqueeze_class reg Calculate the maximum number of register colors that could be denied to a node of this class due to having this reg as a neighbour.