HORIZON HASKELLDocslts/ghc-10.0.x04404a62026-10-19Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 04404a6 · 2026-10-19

Moduleghc-10.0.0.20260917GHC2024

GHC.CmmToAsm.RV64.Instr

Synopsis

Stack frame header size in bytes.

The stack frame header is made of the values that are always saved (regardless of the context.) It consists of the saved return address and a pointer to the previous frame. Thus, its size is two stack frame slots which equals two addresses/words (2 * 8 byte).

Get the registers that are being used by this instruction. regUsage doesn't need to do any trickery for jumps and such. Just state precisely the regs read and written by that insn. The consequences of control flow transfers, as far as register allocation goes, are taken care of by the register allocator.

RegUsage = RU [regs] [regs]

Checks whether this instruction is a jump/branch instruction.

One that can change the flow of control in a way that the register allocator needs to worry about.

Take the source and destination from this (potential) reg -> reg move instruction

We have to be a bit careful here: A MOV can also mean an implicit conversion. This case is filtered out.

datadata Instr
#

Constructors

Instances1Instruction
datadata RoundingMode

The rounding mode associated with an instruction

Constructors

  • Rne

    Round to nearest, ties to even

  • Rtz

    Round toward zero

  • Rdn

    Round downward (toward negative infinity)

  • Rup

    Round upward (toward positive infinity)

  • Rmm

    Round to nearest, ties to max magnitude

  • Dyn

    Dynamic rounding mode

Orphan instances

1 instance