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

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

Moduleghc-9.14.1GHC2021

GHC.CmmToAsm.RV64.Regs

  • 2 types
  • 39 values
  • Packageghc-9.14.1
  • Exports41
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceRegs.hs

Registers

33 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-9.14.1 · GHC.CmmToAsm.RV64.Regs
  • Show AddrModeDefined in ghc-9.14.1 · 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.