Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type Slot = CUInt
- type IntValue = Word64
- data MixedAttributeType
- data FunctionAttributeType
- data ParameterAttributeType
- data AttributeImpl a
- data AttributeSetImpl a
- data AttributeListImpl
- type Attribute a = Ptr (AttributeImpl a)
- type FunctionAttribute = Attribute FunctionAttributeType
- type ParameterAttribute = Attribute ParameterAttributeType
- newtype AttributeIndex = AttributeIndex CUInt
- type AttributeSet a = Ptr (AttributeSetImpl a)
- type FunctionAttributeSet = AttributeSet FunctionAttributeType
- type ParameterAttributeSet = AttributeSet ParameterAttributeType
- type AttributeList = Ptr AttributeListImpl
- forgetAttributeType :: AttributeSet a -> AttributeSet MixedAttributeType
- functionIndex :: AttributeIndex
- returnIndex :: AttributeIndex
- data AttrSetDecoder a = AttrSetDecoder {
- attrSetDecoderAttributesAtIndex :: forall b. a -> AttributeIndex -> IO (AttributeSet b)
- attrSetDecoderCountParams :: a -> IO CUInt
- parameterAttributeKindAsEnum :: ParameterAttribute -> IO ParameterAttributeKind
- functionAttributeKindAsEnum :: FunctionAttribute -> IO FunctionAttributeKind
- isStringAttribute :: Attribute a -> IO LLVMBool
- attributeKindAsString :: Attribute a -> Ptr CSize -> IO (Ptr CChar)
- attributeValueAsString :: Attribute a -> Ptr CSize -> IO (Ptr CChar)
- attributeValueAsInt :: Attribute a -> IO Word64
- getNumAttributes :: AttributeSet a -> IO CUInt
- getAttributes :: AttributeSet a -> Ptr (Attribute a) -> IO ()
- getAttributeList :: Ptr Context -> AttributeIndex -> AttributeSet a -> IO AttributeList
- buildAttributeList :: Ptr Context -> FunctionAttributeSet -> ParameterAttributeSet -> Ptr ParameterAttributeSet -> CUInt -> IO AttributeList
- disposeAttributeList :: AttributeList -> IO ()
- getAttributeSet :: Ptr Context -> Ptr (AttrBuilder a) -> IO (AttributeSet a)
- disposeAttributeSet :: AttributeSet a -> IO ()
- attributeSetsEqual :: AttributeSet a -> AttributeSet a -> IO LLVMBool
- attributeSetHasAttributes :: AttributeSet a -> IO LLVMBool
- data AttrBuilder a
- type FunctionAttrBuilder = AttrBuilder FunctionAttributeType
- type ParameterAttrBuilder = AttrBuilder ParameterAttributeType
- getAttrBuilderSize :: CSize
- attrBuilderFromSet :: AttributeSet a -> IO (Ptr (AttrBuilder a))
- disposeAttrBuilder :: Ptr (AttrBuilder a) -> IO ()
- mergeAttrBuilder :: Ptr (AttrBuilder a) -> Ptr (AttrBuilder a) -> IO ()
- constructAttrBuilder :: Ptr Word8 -> IO (Ptr (AttrBuilder a))
- destroyAttrBuilder :: Ptr (AttrBuilder a) -> IO ()
- attrBuilderAddFunctionAttributeKind :: Ptr FunctionAttrBuilder -> FunctionAttributeKind -> IO ()
- attrBuilderAddParameterAttributeKind :: Ptr ParameterAttrBuilder -> ParameterAttributeKind -> IO ()
- attrBuilderAddStringAttribute :: Ptr (AttrBuilder a) -> Ptr CChar -> CSize -> Ptr CChar -> CSize -> IO ()
- attrBuilderAddAlignment :: Ptr ParameterAttrBuilder -> Word64 -> IO ()
- attrBuilderAddStackAlignment :: Ptr FunctionAttrBuilder -> Word64 -> IO ()
- attrBuilderAddAllocSize' :: Ptr FunctionAttrBuilder -> CUInt -> CUInt -> LLVMBool -> IO ()
- attrBuilderAddAllocSize :: Ptr FunctionAttrBuilder -> CUInt -> (CUInt, LLVMBool) -> IO ()
- attrBuilderAddDereferenceable :: Ptr ParameterAttrBuilder -> Word64 -> IO ()
- attrBuilderAddDereferenceableOrNull :: Ptr ParameterAttrBuilder -> Word64 -> IO ()
- attributeGetAllocSizeArgs :: FunctionAttribute -> Ptr CUInt -> Ptr CUInt -> IO LLVMBool
Documentation
data MixedAttributeType Source #
data FunctionAttributeType Source #
Instances
DecodeM DecodeAST FunctionAttribute FunctionAttribute Source # | |
Defined in LLVM.Internal.Attribute | |
Monad m => EncodeM m FunctionAttribute (Ptr FunctionAttrBuilder -> EncodeAST ()) Source # | |
Defined in LLVM.Internal.Attribute encodeM :: FunctionAttribute -> m (Ptr FunctionAttrBuilder -> EncodeAST ()) Source # | |
EncodeM EncodeAST [Either GroupID FunctionAttribute] FunctionAttributeSet Source # | |
Defined in LLVM.Internal.Attribute |
data ParameterAttributeType Source #
Instances
DecodeM DecodeAST ParameterAttribute ParameterAttribute Source # | |
Defined in LLVM.Internal.Attribute | |
Monad m => EncodeM m ParameterAttribute (Ptr ParameterAttrBuilder -> EncodeAST ()) Source # | |
Defined in LLVM.Internal.Attribute encodeM :: ParameterAttribute -> m (Ptr ParameterAttrBuilder -> EncodeAST ()) Source # |
data AttributeImpl a Source #
Instances
data AttributeSetImpl a Source #
Instances
EncodeM EncodeAST [Either GroupID FunctionAttribute] FunctionAttributeSet Source # | |
Defined in LLVM.Internal.Attribute | |
DecodeM DecodeAST a (Attribute b) => DecodeM DecodeAST [a] (AttributeSet b) Source # | |
Defined in LLVM.Internal.Attribute decodeM :: AttributeSet b -> DecodeAST [a] Source # | |
EncodeM EncodeAST a (Ptr (AttrBuilder b) -> EncodeAST ()) => EncodeM EncodeAST [a] (AttributeSet b) Source # | |
Defined in LLVM.Internal.Attribute encodeM :: [a] -> EncodeAST (AttributeSet b) Source # |
data AttributeListImpl Source #
Instances
type Attribute a = Ptr (AttributeImpl a) Source #
newtype AttributeIndex Source #
type AttributeSet a = Ptr (AttributeSetImpl a) Source #
type AttributeList = Ptr AttributeListImpl Source #
data AttrSetDecoder a Source #
AttrSetDecoder | |
|
Instances
DecodeM DecodeAST AttributeList (AttrSetDecoder a, a) Source # | |
Defined in LLVM.Internal.Attribute decodeM :: (AttrSetDecoder a, a) -> DecodeAST AttributeList Source # |
attributeKindAsString :: Attribute a -> Ptr CSize -> IO (Ptr CChar) Source #
Unfortunately the LLVM C API function can only deal with a 32 bit (unsigned*) length, so we can't just call | https://llvm.org/doxygen/group__LLVMCCoreContext.html#gab88856ea2394e46b10c145aa095e0c06
attributeValueAsString :: Attribute a -> Ptr CSize -> IO (Ptr CChar) Source #
Unfortunately the LLVM C API function can only deal with a 32 bit (unsigned*) length, so we can't just call | <https://llvm.org/doxygen/group__LLVMCCoreContext.html#ga6d78aed2879dccec9d81a1acfad170fd
attributeValueAsInt :: Attribute a -> IO Word64 Source #
The LLVM C API does not expose this functionality
getNumAttributes :: AttributeSet a -> IO CUInt Source #
The LLVM C API does not expose this functionality
getAttributes :: AttributeSet a -> Ptr (Attribute a) -> IO () Source #
getAttributeList :: Ptr Context -> AttributeIndex -> AttributeSet a -> IO AttributeList Source #
buildAttributeList :: Ptr Context -> FunctionAttributeSet -> ParameterAttributeSet -> Ptr ParameterAttributeSet -> CUInt -> IO AttributeList Source #
disposeAttributeList :: AttributeList -> IO () Source #
getAttributeSet :: Ptr Context -> Ptr (AttrBuilder a) -> IO (AttributeSet a) Source #
disposeAttributeSet :: AttributeSet a -> IO () Source #
attributeSetsEqual :: AttributeSet a -> AttributeSet a -> IO LLVMBool Source #
data AttrBuilder a Source #
Instances
Monad m => EncodeM m FunctionAttribute (Ptr FunctionAttrBuilder -> EncodeAST ()) Source # | |
Defined in LLVM.Internal.Attribute encodeM :: FunctionAttribute -> m (Ptr FunctionAttrBuilder -> EncodeAST ()) Source # | |
Monad m => EncodeM m ParameterAttribute (Ptr ParameterAttrBuilder -> EncodeAST ()) Source # | |
Defined in LLVM.Internal.Attribute encodeM :: ParameterAttribute -> m (Ptr ParameterAttrBuilder -> EncodeAST ()) Source # |
attrBuilderFromSet :: AttributeSet a -> IO (Ptr (AttrBuilder a)) Source #
disposeAttrBuilder :: Ptr (AttrBuilder a) -> IO () Source #
mergeAttrBuilder :: Ptr (AttrBuilder a) -> Ptr (AttrBuilder a) -> IO () Source #
constructAttrBuilder :: Ptr Word8 -> IO (Ptr (AttrBuilder a)) Source #
destroyAttrBuilder :: Ptr (AttrBuilder a) -> IO () Source #
attrBuilderAddFunctionAttributeKind :: Ptr FunctionAttrBuilder -> FunctionAttributeKind -> IO () Source #
attrBuilderAddParameterAttributeKind :: Ptr ParameterAttrBuilder -> ParameterAttributeKind -> IO () Source #
attrBuilderAddStringAttribute :: Ptr (AttrBuilder a) -> Ptr CChar -> CSize -> Ptr CChar -> CSize -> IO () Source #
attrBuilderAddAlignment :: Ptr ParameterAttrBuilder -> Word64 -> IO () Source #
attrBuilderAddStackAlignment :: Ptr FunctionAttrBuilder -> Word64 -> IO () Source #
attrBuilderAddAllocSize' :: Ptr FunctionAttrBuilder -> CUInt -> CUInt -> LLVMBool -> IO () Source #
attrBuilderAddAllocSize :: Ptr FunctionAttrBuilder -> CUInt -> (CUInt, LLVMBool) -> IO () Source #
attrBuilderAddDereferenceable :: Ptr ParameterAttrBuilder -> Word64 -> IO () Source #
attributeGetAllocSizeArgs :: FunctionAttribute -> Ptr CUInt -> Ptr CUInt -> IO LLVMBool Source #