ghc-9.10.0.20240426: 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