ghc-lib-parser-9.12.2.20250421: 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 Source #

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 Source # |
Instance details Defined in GHC.Platform.Reg.Class Methods showsPrec :: Int -> RegClass -> ShowS Source # show :: RegClass -> String Source # showList :: [RegClass] -> ShowS Source #
Uniquable RegClass Source # |
Instance details Defined in GHC.Platform.Reg.Class Methods getUnique :: RegClass -> Unique Source #
Outputable RegClass Source # | 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 Source #
Eq RegClass Source # |
Instance details Defined in GHC.Platform.Reg.Class Methods (==) :: RegClass -> RegClass -> Bool Source # (/=) :: RegClass -> RegClass -> Bool Source #
Ord RegClass Source # |
Instance details Defined in GHC.Platform.Reg.Class Methods compare :: RegClass -> RegClass -> Ordering Source # (<) :: RegClass -> RegClass -> Bool Source # (<=) :: RegClass -> RegClass -> Bool Source # (>) :: RegClass -> RegClass -> Bool Source # (>=) :: RegClass -> RegClass -> Bool Source # max :: RegClass -> RegClass -> RegClass Source # min :: RegClass -> RegClass -> RegClass Source #

data RegArch Source #

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

registerArch :: Arch -> RegArch Source #

What is the register architecture of the given architecture?