llvm-extra-0.7.3: Utility functions for the llvm interface

Safe HaskellNone

LLVM.Extra.Multi.Value.Memory

Documentation

class (C a, IsSized (Struct a)) => C a whereSource

Associated Types

type Struct a :: *Source

Methods

load :: Value (Ptr (Struct a)) -> CodeGenFunction r (T a)Source

store :: T a -> Value (Ptr (Struct a)) -> CodeGenFunction r ()Source

decompose :: Value (Struct a) -> CodeGenFunction r (T a)Source

compose :: T a -> CodeGenFunction r (Value (Struct a))Source

Instances

C Double 
C Float 
C Int8 
C Int16 
C Int32 
C Int64 
C Word8 
C Word16 
C Word32 
C Word64 
C () 
C (StablePtr a) 
IsType a => C (Ptr a) 
IsFunction a => C (FunPtr a) 
C a => C (Complex a) 
(C a, C b) => C (a, b) 
(C a, C b, C c) => C (a, b, c) 
(C a, C b, C c, C d) => C (a, b, c, d) 

loadPrimitive :: Repr Value a ~ Value a => Value (Ptr a) -> CodeGenFunction r (T a)Source

storePrimitive :: Repr Value a ~ Value a => T a -> Value (Ptr a) -> CodeGenFunction r ()Source

decomposePrimitive :: Repr Value a ~ Value a => Value a -> CodeGenFunction r (T a)Source

composePrimitive :: Repr Value a ~ Value a => T a -> CodeGenFunction r (Value a)Source

loadUnit :: Repr Value a ~ () => Value (Ptr (Struct ())) -> CodeGenFunction r (T a)Source

storeUnit :: T a -> Value (Ptr (Struct ())) -> CodeGenFunction r ()Source

decomposeUnit :: Repr Value a ~ () => Value (Struct ()) -> CodeGenFunction r (T a)Source

composeUnit :: T a -> CodeGenFunction r (Value (Struct ()))Source