llvm-hs-pure-9.0.0: Pure Haskell LLVM functionality (no FFI).
Safe HaskellSafe
LanguageHaskell2010

LLVM.AST.DataLayout

Description

Synopsis

Documentation

data Endianness Source #

Little Endian is the one true way :-). Sadly, we must support the infidels.

Constructors

LittleEndian 
BigEndian 

Instances

Instances details
Eq Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

Data Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Endianness -> c Endianness #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Endianness #

toConstr :: Endianness -> Constr #

dataTypeOf :: Endianness -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Endianness) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Endianness) #

gmapT :: (forall b. Data b => b -> b) -> Endianness -> Endianness #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Endianness -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Endianness -> r #

gmapQ :: (forall d. Data d => d -> u) -> Endianness -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Endianness -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Endianness -> m Endianness #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Endianness -> m Endianness #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Endianness -> m Endianness #

Ord Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

Read Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

Show Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

Generic Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

Associated Types

type Rep Endianness :: Type -> Type #

type Rep Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

type Rep Endianness = D1 ('MetaData "Endianness" "LLVM.AST.DataLayout" "llvm-hs-pure-9.0.0-inplace" 'False) (C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type))

data AlignmentInfo Source #

An AlignmentInfo describes how a given type must and would best be aligned

Instances

Instances details
Eq AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

Data AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AlignmentInfo -> c AlignmentInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AlignmentInfo #

toConstr :: AlignmentInfo -> Constr #

dataTypeOf :: AlignmentInfo -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AlignmentInfo) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AlignmentInfo) #

gmapT :: (forall b. Data b => b -> b) -> AlignmentInfo -> AlignmentInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AlignmentInfo -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AlignmentInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> AlignmentInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AlignmentInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AlignmentInfo -> m AlignmentInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AlignmentInfo -> m AlignmentInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AlignmentInfo -> m AlignmentInfo #

Ord AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

Read AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

Show AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

Generic AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

Associated Types

type Rep AlignmentInfo :: Type -> Type #

type Rep AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

type Rep AlignmentInfo = D1 ('MetaData "AlignmentInfo" "LLVM.AST.DataLayout" "llvm-hs-pure-9.0.0-inplace" 'False) (C1 ('MetaCons "AlignmentInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "abiAlignment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "preferredAlignment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

data AlignType Source #

A type of type for which AlignmentInfo may be specified

Instances

Instances details
Eq AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

Data AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AlignType -> c AlignType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AlignType #

toConstr :: AlignType -> Constr #

dataTypeOf :: AlignType -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AlignType) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AlignType) #

gmapT :: (forall b. Data b => b -> b) -> AlignType -> AlignType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AlignType -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AlignType -> r #

gmapQ :: (forall d. Data d => d -> u) -> AlignType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AlignType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AlignType -> m AlignType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AlignType -> m AlignType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AlignType -> m AlignType #

Ord AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

Read AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

Show AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

Generic AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

Associated Types

type Rep AlignType :: Type -> Type #

type Rep AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

type Rep AlignType = D1 ('MetaData "AlignType" "LLVM.AST.DataLayout" "llvm-hs-pure-9.0.0-inplace" 'False) (C1 ('MetaCons "IntegerAlign" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VectorAlign" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FloatAlign" 'PrefixI 'False) (U1 :: Type -> Type)))

data Mangling Source #

A style of name mangling

Instances

Instances details
Eq Mangling Source # 
Instance details

Defined in LLVM.AST.DataLayout

Data Mangling Source # 
Instance details

Defined in LLVM.AST.DataLayout

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Mangling -> c Mangling #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Mangling #

toConstr :: Mangling -> Constr #

dataTypeOf :: Mangling -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Mangling) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mangling) #

gmapT :: (forall b. Data b => b -> b) -> Mangling -> Mangling #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mangling -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mangling -> r #

gmapQ :: (forall d. Data d => d -> u) -> Mangling -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Mangling -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Mangling -> m Mangling #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Mangling -> m Mangling #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Mangling -> m Mangling #

Ord Mangling Source # 
Instance details

Defined in LLVM.AST.DataLayout

Read Mangling Source # 
Instance details

Defined in LLVM.AST.DataLayout

Show Mangling Source # 
Instance details

Defined in LLVM.AST.DataLayout

Generic Mangling Source # 
Instance details

Defined in LLVM.AST.DataLayout

Associated Types

type Rep Mangling :: Type -> Type #

Methods

from :: Mangling -> Rep Mangling x #

to :: Rep Mangling x -> Mangling #

type Rep Mangling Source # 
Instance details

Defined in LLVM.AST.DataLayout

type Rep Mangling = D1 ('MetaData "Mangling" "LLVM.AST.DataLayout" "llvm-hs-pure-9.0.0-inplace" 'False) ((C1 ('MetaCons "ELFMangling" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MIPSMangling" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MachOMangling" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WindowsCOFFMangling" 'PrefixI 'False) (U1 :: Type -> Type)))

data DataLayout Source #

a description of the various data layout properties which may be used during optimization

Instances

Instances details
Eq DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout

Data DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DataLayout -> c DataLayout #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DataLayout #

toConstr :: DataLayout -> Constr #

dataTypeOf :: DataLayout -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DataLayout) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DataLayout) #

gmapT :: (forall b. Data b => b -> b) -> DataLayout -> DataLayout #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DataLayout -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DataLayout -> r #

gmapQ :: (forall d. Data d => d -> u) -> DataLayout -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DataLayout -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DataLayout -> m DataLayout #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DataLayout -> m DataLayout #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DataLayout -> m DataLayout #

Ord DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout

Read DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout

Show DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout

Generic DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout

Associated Types

type Rep DataLayout :: Type -> Type #

type Rep DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout