llvm-hs-pure-6.1.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
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 :: (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 Rep Endianness Source # 
Instance details

Defined in LLVM.AST.DataLayout

type Rep Endianness = D1 (MetaData "Endianness" "LLVM.AST.DataLayout" "llvm-hs-pure-6.1.0-SoZvXNdOUj4hA8AeUkTV6" 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 # 
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 :: (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 Rep AlignmentInfo Source # 
Instance details

Defined in LLVM.AST.DataLayout

type Rep AlignmentInfo = D1 (MetaData "AlignmentInfo" "LLVM.AST.DataLayout" "llvm-hs-pure-6.1.0-SoZvXNdOUj4hA8AeUkTV6" 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
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 :: (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 Rep AlignType Source # 
Instance details

Defined in LLVM.AST.DataLayout

type Rep AlignType = D1 (MetaData "AlignType" "LLVM.AST.DataLayout" "llvm-hs-pure-6.1.0-SoZvXNdOUj4hA8AeUkTV6" 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 # 
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 :: (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 :: * -> * #

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-6.1.0-SoZvXNdOUj4hA8AeUkTV6" 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 # 
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 :: (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 Rep DataLayout Source # 
Instance details

Defined in LLVM.AST.DataLayout