module LLVM.Internal.FFI.Function where
import LLVM.Prelude
import Foreign.Ptr
import Foreign.C
import LLVM.Internal.FFI.Attribute
import LLVM.Internal.FFI.Context
import LLVM.Internal.FFI.LLVMCTypes
import LLVM.Internal.FFI.PtrHierarchy
foreign import ccall unsafe "LLVMGetFunctionCallConv" getFunctionCallingConvention ::
Ptr Function -> IO CallingConvention
foreign import ccall unsafe "LLVMSetFunctionCallConv" setFunctionCallingConvention ::
Ptr Function -> CallingConvention -> IO ()
foreign import ccall unsafe "LLVM_Hs_GetFunctionMixedAttributeSet" getMixedAttributeSet ::
Ptr Function -> IO MixedAttributeSet
foreign import ccall unsafe "LLVM_Hs_SetFunctionMixedAttributeSet" setMixedAttributeSet ::
Ptr Function -> MixedAttributeSet -> IO ()
foreign import ccall unsafe "LLVMGetFirstBasicBlock" getFirstBasicBlock ::
Ptr Function -> IO (Ptr BasicBlock)
foreign import ccall unsafe "LLVMGetLastBasicBlock" getLastBasicBlock ::
Ptr Function -> IO (Ptr BasicBlock)
foreign import ccall unsafe "LLVMGetNextBasicBlock" getNextBasicBlock ::
Ptr BasicBlock -> IO (Ptr BasicBlock)
foreign import ccall unsafe "LLVMAppendBasicBlockInContext" appendBasicBlockInContext ::
Ptr Context -> Ptr Function -> CString -> IO (Ptr BasicBlock)
foreign import ccall unsafe "LLVMCountParams" countParams ::
Ptr Function -> IO CUInt
foreign import ccall unsafe "LLVMGetParams" getParams ::
Ptr Function -> Ptr (Ptr Parameter) -> IO ()
foreign import ccall unsafe "LLVMGetGC" getGC ::
Ptr Function -> IO CString
foreign import ccall unsafe "LLVMSetGC" setGC ::
Ptr Function -> CString -> IO ()
foreign import ccall unsafe "LLVM_Hs_HasFunctionPrefixData" hasPrefixData ::
Ptr Function -> IO LLVMBool
foreign import ccall unsafe "LLVM_Hs_GetFunctionPrefixData" getPrefixData ::
Ptr Function -> IO (Ptr Constant)
foreign import ccall unsafe "LLVM_Hs_SetFunctionPrefixData" setPrefixData ::
Ptr Function -> Ptr Constant -> IO ()
foreign import ccall unsafe "LLVMHasPersonalityFn" hasPersonalityFn ::
Ptr Function -> IO LLVMBool
foreign import ccall unsafe "LLVM_Hs_SetPersonalityFn" setPersonalityFn ::
Ptr Function -> Ptr Constant -> IO ()
foreign import ccall unsafe "LLVMGetPersonalityFn" getPersonalityFn ::
Ptr Function -> IO (Ptr Constant)