{-# LANGUAGE
ForeignFunctionInterface,
MultiParamTypeClasses,
UndecidableInstances
#-}
module LLVM.Internal.FFI.Value where
import LLVM.Prelude
import Foreign.Ptr
import Foreign.C
import LLVM.Internal.FFI.LLVMCTypes
import LLVM.Internal.FFI.PtrHierarchy
foreign import ccall unsafe "LLVMTypeOf" typeOf ::
Ptr Value -> IO (Ptr Type)
foreign import ccall unsafe "LLVMGetValueName" getValueName ::
Ptr Value -> IO CString
foreign import ccall unsafe "LLVMSetValueName" setValueName ::
Ptr Value -> CString -> IO ()
foreign import ccall unsafe "LLVM_Hs_GetValueSubclassId" getValueSubclassId ::
Ptr Value -> IO ValueSubclassId
foreign import ccall unsafe "LLVMReplaceAllUsesWith" replaceAllUsesWith ::
Ptr Value -> Ptr Value -> IO ()
foreign import ccall unsafe "LLVM_Hs_CreateArgument" createArgument ::
Ptr Type -> CString -> IO (Ptr Value)
foreign import ccall unsafe "LLVMDumpValue" dumpValue ::
Ptr Value -> IO ()