llvm-hs-pure-5.0.0: Pure Haskell LLVM functionality (no FFI).

Safe HaskellSafe
LanguageHaskell98

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

Eq Endianness Source # 
Data Endianness Source # 

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 :: (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 # 
Read Endianness Source # 
Show Endianness Source # 
Generic Endianness Source # 

Associated Types

type Rep Endianness :: * -> * #

type Rep Endianness Source # 
type Rep Endianness = D1 (MetaData "Endianness" "LLVM.AST.DataLayout" "llvm-hs-pure-5.0.0-EhWu9UEKVIZCRIhKnrKWrq" False) ((:+:) (C1 (MetaCons "LittleEndian" PrefixI False) U1) (C1 (MetaCons "BigEndian" PrefixI False) U1))

data AlignmentInfo Source #

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

Instances

Eq AlignmentInfo Source # 
Data AlignmentInfo Source # 

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 :: (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 # 
Read AlignmentInfo Source # 
Show AlignmentInfo Source # 
Generic AlignmentInfo Source # 

Associated Types

type Rep AlignmentInfo :: * -> * #

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

data AlignType Source #

A type of type for which AlignmentInfo may be specified

Instances

Eq AlignType Source # 
Data AlignType Source # 

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 :: (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 # 
Read AlignType Source # 
Show AlignType Source # 
Generic AlignType Source # 

Associated Types

type Rep AlignType :: * -> * #

type Rep AlignType Source # 
type Rep AlignType = D1 (MetaData "AlignType" "LLVM.AST.DataLayout" "llvm-hs-pure-5.0.0-EhWu9UEKVIZCRIhKnrKWrq" False) ((:+:) (C1 (MetaCons "IntegerAlign" PrefixI False) U1) ((:+:) (C1 (MetaCons "VectorAlign" PrefixI False) U1) (C1 (MetaCons "FloatAlign" PrefixI False) U1)))

data Mangling Source #

A style of name mangling

Instances

Eq Mangling Source # 
Data Mangling Source # 

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 :: (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 # 
Read Mangling Source # 
Show Mangling Source # 
Generic Mangling Source # 

Associated Types

type Rep Mangling :: * -> * #

Methods

from :: Mangling -> Rep Mangling x #

to :: Rep Mangling x -> Mangling #

type Rep Mangling Source # 
type Rep Mangling = D1 (MetaData "Mangling" "LLVM.AST.DataLayout" "llvm-hs-pure-5.0.0-EhWu9UEKVIZCRIhKnrKWrq" False) ((:+:) ((:+:) (C1 (MetaCons "ELFMangling" PrefixI False) U1) (C1 (MetaCons "MIPSMangling" PrefixI False) U1)) ((:+:) (C1 (MetaCons "MachOMangling" PrefixI False) U1) (C1 (MetaCons "WindowsCOFFMangling" PrefixI False) U1)))

data DataLayout Source #

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

Instances

Eq DataLayout Source # 
Data DataLayout Source # 

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 :: (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 # 
Read DataLayout Source # 
Show DataLayout Source # 
Generic DataLayout Source # 

Associated Types

type Rep DataLayout :: * -> * #

type Rep DataLayout Source #