ghc-9.14.0.20251128: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Platform

Description

Platform description

Synopsis

Documentation

data Platform #

Platform description

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

Constructors

Platform 

Fields

Instances

Instances details
Eq Platform # 
Instance details

Defined in GHC.Platform

Ord Platform # 
Instance details

Defined in GHC.Platform

Read Platform # 
Instance details

Defined in GHC.Platform

Show Platform # 
Instance details

Defined in GHC.Platform

OutputableP Platform CmmGraph # 
Instance details

Defined in GHC.Cmm

Methods

pdoc :: Platform -> CmmGraph -> SDoc #

OutputableP Platform CmmInfoTable # 
Instance details

Defined in GHC.Cmm

Methods

pdoc :: Platform -> CmmInfoTable -> SDoc #

OutputableP Platform CmmStatic # 
Instance details

Defined in GHC.Cmm

Methods

pdoc :: Platform -> CmmStatic -> SDoc #

OutputableP Platform CmmTopInfo # 
Instance details

Defined in GHC.Cmm

Methods

pdoc :: Platform -> CmmTopInfo -> SDoc #

OutputableP Platform CLabel # 
Instance details

Defined in GHC.Cmm.CLabel

Methods

pdoc :: Platform -> CLabel -> SDoc #

OutputableP Platform InfoProvEnt # 
Instance details

Defined in GHC.Cmm.CLabel

Methods

pdoc :: Platform -> InfoProvEnt -> SDoc #

OutputableP Platform DebugBlock # 
Instance details

Defined in GHC.Cmm.DebugBlock

Methods

pdoc :: Platform -> DebugBlock -> SDoc #

OutputableP Platform UnwindExpr # 
Instance details

Defined in GHC.Cmm.DebugBlock

Methods

pdoc :: Platform -> UnwindExpr -> SDoc #

OutputableP Platform UnwindPoint # 
Instance details

Defined in GHC.Cmm.DebugBlock

Methods

pdoc :: Platform -> UnwindPoint -> SDoc #

OutputableP Platform CmmExpr # 
Instance details

Defined in GHC.Cmm.Expr

Methods

pdoc :: Platform -> CmmExpr -> SDoc #

OutputableP Platform CmmLit # 
Instance details

Defined in GHC.Cmm.Expr

Methods

pdoc :: Platform -> CmmLit -> SDoc #

OutputableP Platform ForeignTarget # 
Instance details

Defined in GHC.Cmm.Node

Methods

pdoc :: Platform -> ForeignTarget -> SDoc #

OutputableP Platform DwarfFrameBlock # 
Instance details

Defined in GHC.CmmToAsm.Dwarf.Types

OutputableP Platform LiveInfo # 
Instance details

Defined in GHC.CmmToAsm.Reg.Liveness

Methods

pdoc :: Platform -> LiveInfo -> SDoc #

OutputableP Platform CgLoc # 
Instance details

Defined in GHC.StgToCmm.Closure

Methods

pdoc :: Platform -> CgLoc -> SDoc #

OutputableP Platform CgIdInfo # 
Instance details

Defined in GHC.StgToCmm.Monad

Methods

pdoc :: Platform -> CgIdInfo -> SDoc #

OutputableP Platform (GenCmmStatics a) # 
Instance details

Defined in GHC.Cmm

Methods

pdoc :: Platform -> GenCmmStatics a -> SDoc #

OutputableP Platform (CmmNode e x) # 
Instance details

Defined in GHC.Cmm.Node

Methods

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

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

Defined in GHC.Cmm

Methods

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

OutputableP Platform (Block CmmNode C C) # 
Instance details

Defined in GHC.Cmm.Node

Methods

pdoc :: Platform -> Block CmmNode C C -> SDoc #

OutputableP Platform (Block CmmNode C O) # 
Instance details

Defined in GHC.Cmm.Node

Methods

pdoc :: Platform -> Block CmmNode C O -> SDoc #

OutputableP Platform (Block CmmNode O C) # 
Instance details

Defined in GHC.Cmm.Node

Methods

pdoc :: Platform -> Block CmmNode O C -> SDoc #

OutputableP Platform (Block CmmNode O O) # 
Instance details

Defined in GHC.Cmm.Node

Methods

pdoc :: Platform -> Block CmmNode O O -> SDoc #

OutputableP Platform (Graph CmmNode e x) # 
Instance details

Defined in GHC.Cmm.Node

Methods

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

platformArch :: Platform -> Arch #

Platform architecture

platformOS :: Platform -> OS #

Platform OS

data ArchOS #

Constructors

ArchOS 

Fields

Instances

Instances details
Eq ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

Ord ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

Read ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

Show ArchOS # 
Instance details

Defined in GHC.Platform.ArchOS

data OS #

Instances

Instances details
Eq OS # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

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

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

Ord OS # 
Instance details

Defined in GHC.Platform.ArchOS

Methods

compare :: OS -> OS -> Ordering Source #

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

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

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

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

max :: OS -> OS -> OS Source #

min :: OS -> OS -> OS Source #

Read OS # 
Instance details

Defined in GHC.Platform.ArchOS

Show OS # 
Instance details

Defined in GHC.Platform.ArchOS

data ArmISA #

Constructors

ARMv5 
ARMv6 
ARMv7 

Instances

Instances details
Eq ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

Ord ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

Read ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

Show ArmISA # 
Instance details

Defined in GHC.Platform.ArchOS

data ArmABI #

Constructors

SOFT 
SOFTFP 
HARD 

Instances

Instances details
Eq ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

Ord ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

Read ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

Show ArmABI # 
Instance details

Defined in GHC.Platform.ArchOS

data ByteOrder Source #

Byte ordering.

Constructors

BigEndian

most-significant-byte occurs in lowest address.

LittleEndian

least-significant-byte occurs in lowest address.

Instances

Instances details
Eq ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Ord ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Bounded ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Enum ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Generic ByteOrder Source # 
Instance details

Defined in GHC.Internal.ByteOrder

Associated Types

type Rep ByteOrder

Since: base-4.15.0.0

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 Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Show ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder Source #

Since: base-4.15.0.0

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 #

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

platformMinInt :: Platform -> Integer #

Minimum representable Int value for the given platform

platformMaxInt :: Platform -> Integer #

Maximum representable Int value for the given platform

platformMaxWord :: Platform -> Integer #

Maximum representable Word value for the given platform

platformInIntRange :: Platform -> Integer -> Bool #

Test if the given Integer is representable with a platform Int

platformInWordRange :: Platform -> Integer -> Bool #

Test if the given Integer is representable with a platform Word

platformCConvNeedsExtension :: Platform -> Bool #

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 #

Does this platform have an RTS linker?

data PlatformMisc #

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 #

x86 SSE instructions

Constructors

SSE1 
SSE2 
SSE3 
SSSE3 
SSE4 
SSE42 

data BmiVersion #

x86 BMI (bit manipulation) instructions

Constructors

BMI1 
BMI2 

SSE and AVX

Platform constants

data PlatformConstants #

Constructors

PlatformConstants 

Fields

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

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

See Note [Platform constants]

Shared libraries