llvm-hs-4.1.0.0: General purpose LLVM bindings

Safe HaskellNone
LanguageHaskell98

LLVM.Internal.Coding

Documentation

class EncodeM e h c where Source #

Minimal complete definition

encodeM

Methods

encodeM :: h -> e c Source #

Instances

Monad m => EncodeM m Word64 Word64 Source # 

Methods

encodeM :: Word64 -> m Word64 Source #

Monad m => EncodeM m Int32 CInt Source # 

Methods

encodeM :: Int32 -> m CInt Source #

Monad m => EncodeM m Word64 CULong Source # 

Methods

encodeM :: Word64 -> m CULong Source #

Monad m => EncodeM m Word32 CUInt Source # 

Methods

encodeM :: Word32 -> m CUInt Source #

Monad m => EncodeM m Word CUInt Source # 

Methods

encodeM :: Word -> m CUInt Source #

Monad m => EncodeM m Bool LLVMBool Source # 

Methods

encodeM :: Bool -> m LLVMBool Source #

Monad m => EncodeM m LibraryFunction LibFunc Source # 
Monad m => EncodeM m JITSymbolFlags JITSymbolFlags Source # 
Monad e => EncodeM e String UTF8ByteString Source # 
EncodeM EncodeAST PreSlot MixedAttributeSet Source # 
EncodeM EncodeAST MixedAttributeSet MixedAttributeSet Source # 
MonadIO m => EncodeM m SymbolResolverFn (FunPtr SymbolResolverFn) Source # 
(MonadThrow m, MonadIO m, MonadAnyCont IO m) => EncodeM m Specification (Ptr MemoryBuffer) Source # 
(MonadThrow m, MonadIO m, MonadAnyCont IO m) => EncodeM m Specification (OwnerTransfered (Ptr MemoryBuffer)) Source # 
EncodeM EncodeAST Name (Ptr BasicBlock) Source # 
MonadIO m => EncodeM m SymbolResolver (IORef [IO ()] -> IO (Ptr LambdaResolver)) Source # 
MonadIO m => EncodeM m JITSymbol (Ptr JITSymbol -> IO ()) Source # 

Methods

encodeM :: JITSymbol -> m (Ptr JITSymbol -> IO ()) Source #

Monad m => EncodeM m (Maybe Word) (NothingAsMinusOne Word) Source # 
Monad m => EncodeM m (Maybe Bool) (NothingAsMinusOne Bool) Source # 
(Monad m, EncodeM m h (Ptr c)) => EncodeM m (Maybe h) (Ptr c) Source # 

Methods

encodeM :: Maybe h -> m (Ptr c) Source #

Monad m => EncodeM m (Maybe Word32) (CUInt, LLVMBool) Source # 
(Monad m, EncodeM m h c, Storable c, MonadAnyCont IO m) => EncodeM m [h] (CUInt, Ptr c) Source # 

Methods

encodeM :: [h] -> m (CUInt, Ptr c) Source #

EncodeM e ByteString es => EncodeM e (Map CPUFeature Bool) es Source # 

Methods

encodeM :: Map CPUFeature Bool -> e es Source #

class DecodeM d h c where Source #

Minimal complete definition

decodeM

Methods

decodeM :: c -> d h Source #

Instances

Monad m => DecodeM m Word64 Word64 Source # 

Methods

decodeM :: Word64 -> m Word64 Source #

Monad m => DecodeM m Int CInt Source # 

Methods

decodeM :: CInt -> m Int Source #

Monad m => DecodeM m Int32 CInt Source # 

Methods

decodeM :: CInt -> m Int32 Source #

Monad m => DecodeM m Word64 CULong Source # 

Methods

decodeM :: CULong -> m Word64 Source #

Monad m => DecodeM m Word32 CUInt Source # 

Methods

decodeM :: CUInt -> m Word32 Source #

Monad m => DecodeM m Word CUInt Source # 

Methods

decodeM :: CUInt -> m Word Source #

Monad m => DecodeM m Bool LLVMBool Source # 

Methods

decodeM :: LLVMBool -> m Bool Source #

Monad m => DecodeM m LibraryFunction LibFunc Source # 
Monad m => DecodeM m JITSymbolFlags JITSymbolFlags Source # 
MonadIO m => DecodeM m MangledSymbol CString Source # 
Monad d => DecodeM d String UTF8ByteString Source # 
DecodeM DecodeAST MixedAttributeSet MixedAttributeSet Source # 
MonadIO m => DecodeM m JITSymbol (Ptr JITSymbol) Source # 
DecodeM DecodeAST Name (Ptr BasicBlock) Source # 
(Monad m, DecodeM m h (Ptr c)) => DecodeM m (Maybe h) (Ptr c) Source # 

Methods

decodeM :: Ptr c -> m (Maybe h) Source #

Monad m => DecodeM m (Maybe Word32) (CUInt, LLVMBool) Source # 

Methods

decodeM :: (CUInt, LLVMBool) -> m (Maybe Word32) Source #

(Monad m, DecodeM m h c, Storable c, MonadIO m) => DecodeM m [h] (CUInt, Ptr c) Source # 

Methods

decodeM :: (CUInt, Ptr c) -> m [h] Source #

(Monad d, DecodeM d ByteString es) => DecodeM d (Map CPUFeature Bool) es Source # 

Methods

decodeM :: es -> d (Map CPUFeature Bool) Source #

genCodingInstance :: (Data c, Data h) => TypeQ -> Name -> [(c, h)] -> Q [Dec] Source #

allocaArray :: (Integral i, Storable a, MonadAnyCont IO m) => i -> m (Ptr a) Source #

alloca :: (Storable a, MonadAnyCont IO m) => m (Ptr a) Source #

peek :: (Storable a, MonadIO m) => Ptr a -> m a Source #

peekByteOff :: (Storable a, MonadIO m) => Ptr a -> Int -> m a Source #

poke :: (Storable a, MonadIO m) => Ptr a -> a -> m () Source #

pokeByteOff :: (Storable a, MonadIO m) => Ptr a -> Int -> a -> m () Source #

peekArray :: (Integral i, Storable a, MonadIO m) => i -> Ptr a -> m [a] Source #