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

GHC 10.0.0.20260917 · lts/ghc-10.0.x · aa25b89 · 2026-10-10

Moduleghc-10.0.0.20260917GHC2024

GHC.CmmToAsm.Reg.Linear.Base

Put common type definitions here to break recursive module dependencies.

  • 8 types
  • 5 values
datadata BlockAssignment freeRegs
#

Used to store the register assignment on entry to a basic block. We use this to handle join points, where multiple branch instructions target a particular label. We have to insert fixup code to make the register assignments from the different sources match up.

datadata VLoc
#

Where a vreg is currently stored.

A temporary can be marked as living in both a register and memory (InBoth), for example if it was recently loaded from a spill location. This makes it cheap to spill (no save instruction required), but we have to be careful to turn this into InReg if the value in the register is changed.

Constructors

Instances4Eq, Ord, Show, Outputable
  • Eq VLocDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.Reg.Linear.Base
  • Ord VLocDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.Reg.Linear.Base
  • Show VLocDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.Reg.Linear.Base
  • Outputable VLocDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.Reg.Linear.Base
newtypenewtype IgnoreFormat a
#

A newtype used to hang off Eq and Ord instances for Loc which ignore the format, as used in GHC.CmmToAsm.Reg.Linear.JoinToTargets.

Constructors

Instances2Eq, Ord
datadata SpillReason
#

Reasons why instructions might be inserted by the spiller. Used when generating stats for -ddrop-asm-stats.

Constructors

datadata RA_State freeRegs
#

The register allocator state

Constructors