ghc-9.12.0.20241114: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Platform

Description

Platform description

Synopsis

Documentation

data Platform Source #

Platform description

This is used to describe platforms so that we can generate code for them.

Constructors

Platform 

Fields

Instances

Instances details
Read Platform Source # 
Instance details

Defined in GHC.Platform

Show Platform Source # 
Instance details

Defined in GHC.Platform

Eq Platform Source # 
Instance details

Defined in GHC.Platform

Ord Platform Source # 
Instance details

Defined in GHC.Platform

OutputableP Platform CmmGraph Source # 
Instance details

Defined in GHC.Cmm

Methods

pdoc :: Platform -> CmmGraph -> SDoc Source #

OutputableP Platform CmmInfoTable Source # 
Instance details

Defined in GHC.Cmm

OutputableP Platform CmmStatic Source # 
Instance details

Defined in GHC.Cmm

OutputableP Platform CmmTopInfo Source # 
Instance details

Defined in GHC.Cmm

OutputableP Platform CLabel Source # 
Instance details

Defined in GHC.Cmm.CLabel

Methods

pdoc :: Platform -> CLabel -> SDoc Source #

OutputableP Platform InfoProvEnt Source # 
Instance details

Defined in GHC.Cmm.CLabel

OutputableP Platform DebugBlock Source # 
Instance details

Defined in GHC.Cmm.DebugBlock

OutputableP Platform UnwindExpr Source # 
Instance details

Defined in GHC.Cmm.DebugBlock

OutputableP Platform UnwindPoint Source # 
Instance details

Defined in GHC.Cmm.DebugBlock

OutputableP Platform CmmExpr Source # 
Instance details

Defined in GHC.Cmm.Expr

Methods

pdoc :: Platform -> CmmExpr -> SDoc Source #

OutputableP Platform CmmLit Source # 
Instance details

Defined in GHC.Cmm.Expr

Methods

pdoc :: Platform -> CmmLit -> SDoc Source #

OutputableP Platform ForeignTarget Source # 
Instance details

Defined in GHC.Cmm.Node

OutputableP Platform DwarfFrameBlock Source # 
Instance details

Defined in GHC.CmmToAsm.Dwarf.Types

OutputableP Platform LiveInfo Source # 
Instance details

Defined in GHC.CmmToAsm.Reg.Liveness

Methods

pdoc :: Platform -> LiveInfo -> SDoc Source #

OutputableP Platform CgLoc Source # 
Instance details

Defined in GHC.StgToCmm.Closure

Methods

pdoc :: Platform -> CgLoc -> SDoc Source #

OutputableP Platform CgIdInfo Source # 
Instance details

Defined in GHC.StgToCmm.Monad

Methods

pdoc :: Platform -> CgIdInfo -> SDoc Source #

OutputableP Platform (GenCmmStatics a) Source # 
Instance details

Defined in GHC.Cmm

OutputableP Platform (CmmNode e x) Source # 
Instance details

Defined in GHC.Cmm.Node

Methods

pdoc :: Platform -> CmmNode e x -> SDoc Source #

(OutputableP Platform d, OutputableP Platform info, OutputableP Platform i) => OutputableP Platform (GenCmmDecl d info i) Source # 
Instance details

Defined in GHC.Cmm

Methods

pdoc :: Platform -> GenCmmDecl d info i -> SDoc Source #

OutputableP Platform (Block CmmNode C C) Source # 
Instance details

Defined in GHC.Cmm.Node

OutputableP Platform (Block CmmNode C O) Source # 
Instance details

Defined in GHC.Cmm.Node

OutputableP Platform (Block CmmNode O C) Source # 
Instance details

Defined in GHC.Cmm.Node

OutputableP Platform (Block CmmNode O O) Source # 
Instance details

Defined in GHC.Cmm.Node

OutputableP Platform (Graph CmmNode e x) Source # 
Instance details

Defined in GHC.Cmm.Node

Methods

pdoc :: Platform -> Graph CmmNode e x -> SDoc Source #

platformArch :: Platform -> Arch Source #

Platform architecture

platformOS :: Platform -> OS Source #

Platform OS

data ArchOS #

Constructors

ArchOS 

Fields

Instances

Instances details
Read ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

Show ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

Eq ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

(==) :: ArchOS -> ArchOS -> Bool #

(/=) :: ArchOS -> ArchOS -> Bool #

Ord ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

data Arch #

Instances

Instances details
Read Arch # 
Instance details

Defined in GHC.Platform.ArchOS

Show Arch # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

showsPrec :: Int -> Arch -> ShowS #

show :: Arch -> String #

showList :: [Arch] -> ShowS #

Eq Arch # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

(==) :: Arch -> Arch -> Bool #

(/=) :: Arch -> Arch -> Bool #

Ord Arch # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

compare :: Arch -> Arch -> Ordering #

(<) :: Arch -> Arch -> Bool #

(<=) :: Arch -> Arch -> Bool #

(>) :: Arch -> Arch -> Bool #

(>=) :: Arch -> Arch -> Bool #

max :: Arch -> Arch -> Arch #

min :: Arch -> Arch -> Arch #

data OS #

Instances

Instances details
Read OS # 
Instance details

Defined in GHC.Platform.ArchOS

Show OS # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

showsPrec :: Int -> OS -> ShowS #

show :: OS -> String #

showList :: [OS] -> ShowS #

Eq OS # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

(==) :: OS -> OS -> Bool #

(/=) :: OS -> OS -> Bool #

Ord OS # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

compare :: OS -> OS -> Ordering #

(<) :: OS -> OS -> Bool #

(<=) :: OS -> OS -> Bool #

(>) :: OS -> OS -> Bool #

(>=) :: OS -> OS -> Bool #

max :: OS -> OS -> OS #

min :: OS -> OS -> OS #

data ArmISA #

Constructors

ARMv5 
ARMv6 
ARMv7 

Instances

Instances details
Read ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

Show ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

Eq ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

(==) :: ArmISA -> ArmISA -> Bool #

(/=) :: ArmISA -> ArmISA -> Bool #

Ord ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

data ArmABI #

Constructors

SOFT 
SOFTFP 
HARD 

Instances

Instances details
Read ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

Show ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

Eq ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

(==) :: ArmABI -> ArmABI -> Bool #

(/=) :: ArmABI -> ArmABI -> Bool #

Ord ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

data PPC_64ABI #

Constructors

ELF_V1 
ELF_V2 

data ByteOrder #

Constructors

BigEndian 
LittleEndian 

Instances

Instances details
Bounded ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Enum ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Generic ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Associated Types

type Rep ByteOrder 
Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder = D1 ('MetaData "ByteOrder" "GHC.Internal.ByteOrder" "ghc-internal" 'False) (C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type))
Read ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Show ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Eq ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Ord ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder = D1 ('MetaData "ByteOrder" "GHC.Internal.ByteOrder" "ghc-internal" 'False) (C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type))

target32Bit :: Platform -> Bool Source #

This predicate tells us whether the platform is 32-bit.

platformMinInt :: Platform -> Integer Source #

Minimum representable Int value for the given platform

platformMaxInt :: Platform -> Integer Source #

Maximum representable Int value for the given platform

platformMaxWord :: Platform -> Integer Source #

Maximum representable Word value for the given platform

platformInIntRange :: Platform -> Integer -> Bool Source #

Test if the given Integer is representable with a platform Int

platformInWordRange :: Platform -> Integer -> Bool Source #

Test if the given Integer is representable with a platform Word

platformCConvNeedsExtension :: Platform -> Bool Source #

For some architectures the C calling convention is that any integer shorter than 64 bits is replaced by its 64 bits representation using sign or zero extension.

platformHasRTSLinker :: Platform -> Bool Source #

Does this platform have an RTS linker?

data PlatformMisc Source #

Platform-specific settings formerly hard-coded in Config.hs.

These should probably be all be triaged whether they can be computed from other settings or belong in another another place (like Platform above).

data SseVersion Source #

x86 SSE instructions

Constructors

SSE1 
SSE2 
SSE3 
SSE4 
SSE42 

data BmiVersion Source #

x86 BMI (bit manipulation) instructions

Constructors

BMI1 
BMI2 

SSE and AVX

Platform constants

data PlatformConstants Source #

Constructors

PlatformConstants 

Fields

lookupPlatformConstants :: [FilePath] -> IO (Maybe PlatformConstants) Source #

Try to locate "DerivedConstants.h" file in the given dirs and to parse the PlatformConstants from it.

See Note [Platform constants]

Shared libraries