GHC.Platform.Reg.Class

ghc-lib-parser-9.14.1.20251220: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
Language | GHC2021

GHC.Platform.Reg.Class

Synopsis

- newtype RegClass = RegClass Int
- data RegArch
  - = Unified
  - | Separate
  - | NoVectors
- registerArch :: Arch -> RegArch

# Documentation

newtype RegClass #

The class of a register. Used in the register allocator. We treat all registers in a class as being interchangeable.

Constructors

RegClass Int |

#### Instances

Instances details

Show RegClass # |
Instance details Defined in GHC.Platform.Reg.Class Methods showsPrec :: Int -> RegClass -> ShowS # show :: RegClass -> String # showList :: [RegClass] -> ShowS #
Uniquable RegClass # |
Instance details Defined in GHC.Platform.Reg.Class Methods getUnique :: RegClass -> Unique #
Outputable RegClass # | This instance is just used for the graph colouring register allocator. Prefer using either `pprRegClass` or `pprRegClass`, which is more informative.
Instance details Defined in GHC.Platform.Reg.Class Methods ppr :: RegClass -> SDoc #
Eq RegClass # |
Instance details Defined in GHC.Platform.Reg.Class Methods (==) :: RegClass -> RegClass -> Bool # (/=) :: RegClass -> RegClass -> Bool #
Ord RegClass # |
Instance details Defined in GHC.Platform.Reg.Class Methods compare :: RegClass -> RegClass -> Ordering # (<) :: RegClass -> RegClass -> Bool # (<=) :: RegClass -> RegClass -> Bool # (>) :: RegClass -> RegClass -> Bool # (>=) :: RegClass -> RegClass -> Bool # max :: RegClass -> RegClass -> RegClass # min :: RegClass -> RegClass -> RegClass #

data RegArch #

The register architecture of a given machine.

Constructors

Unified | Floating-point and vector registers are unified (e.g. X86, AArch64).
Separate | Floating-point and vector registers are separate (e.g. RISC-V).
NoVectors | No vector registers.

#### Instances

Instances details

Show RegArch # |
Instance details Defined in GHC.Platform.Reg.Class Methods showsPrec :: Int -> RegArch -> ShowS # show :: RegArch -> String # showList :: [RegArch] -> ShowS #
Outputable RegArch # |
Instance details Defined in GHC.Platform.Reg.Class Methods ppr :: RegArch -> SDoc #
Eq RegArch # |
Instance details Defined in GHC.Platform.Reg.Class Methods (==) :: RegArch -> RegArch -> Bool # (/=) :: RegArch -> RegArch -> Bool #
Ord RegArch # |
Instance details Defined in GHC.Platform.Reg.Class Methods compare :: RegArch -> RegArch -> Ordering # (<) :: RegArch -> RegArch -> Bool # (<=) :: RegArch -> RegArch -> Bool # (>) :: RegArch -> RegArch -> Bool # (>=) :: RegArch -> RegArch -> Bool # max :: RegArch -> RegArch -> RegArch # min :: RegArch -> RegArch -> RegArch #

registerArch :: Arch -> RegArch #

What is the register architecture of the given architecture?