Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
A type to represent operands to LLVM Instruction
s
Synopsis
- data DILocalVariable = LocalVariable {}
- data DIGlobalVariable = GlobalVariable {
- name :: ShortByteString
- scope :: Maybe (MDRef DIScope)
- file :: Maybe (MDRef DIFile)
- line :: Word32
- type' :: Maybe (MDRef DIType)
- linkageName :: ShortByteString
- local :: Bool
- definition :: Bool
- staticDataMemberDeclaration :: Maybe (MDRef DIDerivedType)
- alignInBits :: Word32
- data DIVariable
- data DILexicalBlockBase
- = DILexicalBlock { }
- | DILexicalBlockFile {
- scope :: MDRef DILocalScope
- file :: Maybe (MDRef DIFile)
- discriminator :: Word32
- data DITemplateParameter
- = DITemplateTypeParameter {
- name :: ShortByteString
- type' :: MDRef DIType
- | DITemplateValueParameter { }
- = DITemplateTypeParameter {
- data TemplateValueParameterTag
- data Encoding
- data DICompositeType
- = DIArrayType {
- subscripts :: [DISubrange]
- elementTy :: Maybe (MDRef DIType)
- sizeInBits :: Word64
- alignInBits :: Word32
- flags :: [DIFlag]
- | DIClassType {
- scope :: Maybe (MDRef DIScope)
- name :: ShortByteString
- file :: Maybe (MDRef DIFile)
- line :: Word32
- flags :: [DIFlag]
- derivedFrom :: Maybe (MDRef DIType)
- elements :: [MDRef (Either DIDerivedType DISubprogram)]
- vtableHolder :: Maybe (MDRef DIType)
- templateParams :: [DITemplateParameter]
- identifier :: ShortByteString
- sizeInBits :: Word64
- alignInBits :: Word32
- | DIEnumerationType {
- scope :: Maybe (MDRef DIScope)
- name :: ShortByteString
- file :: Maybe (MDRef DIFile)
- line :: Word32
- values :: [DIEnumerator]
- baseType :: Maybe (MDRef DIType)
- identifier :: ShortByteString
- sizeInBits :: Word64
- alignInBits :: Word32
- | DIStructureType {
- scope :: Maybe (MDRef DIScope)
- name :: ShortByteString
- file :: Maybe (MDRef DIFile)
- line :: Word32
- flags :: [DIFlag]
- derivedFrom :: Maybe (MDRef DIType)
- elements :: [MDRef (Either DIDerivedType DISubprogram)]
- runtimeLang :: Word16
- vtableHolder :: Maybe (MDRef DIType)
- identifier :: ShortByteString
- sizeInBits :: Word64
- alignInBits :: Word32
- | DIUnionType {
- scope :: Maybe (MDRef DIScope)
- name :: ShortByteString
- file :: Maybe (MDRef DIFile)
- line :: Word32
- flags :: [DIFlag]
- elements :: [MDRef (Either DIDerivedType DISubprogram)]
- runtimeLang :: Word16
- identifier :: ShortByteString
- sizeInBits :: Word64
- alignInBits :: Word32
- = DIArrayType {
- data DIDerivedType = DerivedType {
- tag :: DerivedTypeTag
- name :: ShortByteString
- file :: Maybe (MDRef DIFile)
- line :: Word32
- scope :: Maybe (MDRef DIScope)
- baseType :: MDRef DIType
- sizeInBits :: Word64
- alignInBits :: Word32
- offsetInBits :: Word64
- addressSpace :: Maybe Word32
- flags :: [DIFlag]
- data DerivedTypeTag
- data DISubroutineType = SubroutineType {}
- data DIBasicType = BasicType {}
- data DIType
- data BasicTypeTag
- data Virtuality
- data DISubprogram = Subprogram {
- scope :: Maybe (MDRef DIScope)
- name :: ShortByteString
- linkageName :: ShortByteString
- file :: Maybe (MDRef DIFile)
- line :: Word32
- type' :: Maybe (MDRef DISubroutineType)
- localToUnit :: Bool
- definition :: Bool
- scopeLine :: Word32
- containingType :: Maybe (MDRef DIType)
- virtuality :: Virtuality
- virtualityIndex :: Word32
- thisAdjustment :: Int32
- flags :: [DIFlag]
- optimized :: Bool
- unit :: Maybe (MDRef DICompileUnit)
- templateParams :: [MDRef DITemplateParameter]
- declaration :: Maybe (MDRef DISubprogram)
- retainedNodes :: [MDRef DILocalVariable]
- thrownTypes :: [MDRef DIType]
- data DILocalScope
- data ChecksumKind
- data ChecksumInfo = ChecksumInfo {}
- data DIFile = File {}
- data DICompileUnit = CompileUnit {
- language :: Word32
- file :: MDRef DIFile
- producer :: ShortByteString
- optimized :: Bool
- flags :: ShortByteString
- runtimeVersion :: Word32
- splitDebugFileName :: ShortByteString
- emissionKind :: DebugEmissionKind
- enums :: [MDRef DICompositeType]
- retainedTypes :: [MDRef (Either DIType DISubprogram)]
- globals :: [MDRef DIGlobalVariableExpression]
- imports :: [MDRef DIImportedEntity]
- macros :: [MDRef DIMacroNode]
- dWOId :: Word64
- splitDebugInlining :: Bool
- debugInfoForProfiling :: Bool
- gnuPubnames :: Bool
- data DebugEmissionKind
- data DINamespace = Namespace {
- name :: ShortByteString
- scope :: Maybe (MDRef DIScope)
- exportSymbols :: Bool
- data DIModule = Module {}
- data DIScope
- data DICount
- data DISubrange = Subrange {
- count :: DICount
- lowerBound :: Int64
- data DIEnumerator = Enumerator {
- value :: Int64
- isUnsigned :: Bool
- name :: ShortByteString
- data DIImportedEntity = ImportedEntity {}
- data ImportedEntityTag
- data DIObjCProperty = ObjCProperty {
- name :: ShortByteString
- file :: Maybe (MDRef DIFile)
- line :: Word32
- getterName :: ShortByteString
- setterName :: ShortByteString
- attributes :: Word32
- type' :: Maybe (MDRef DIType)
- data DINode
- data DIMacroNode
- = DIMacro {
- info :: DIMacroInfo
- line :: Word32
- name :: ShortByteString
- value :: ShortByteString
- | DIMacroFile { }
- = DIMacro {
- data DIMacroInfo
- data DIFlag
- data DIInheritance
- data DIAccessibility
- data DIGlobalVariableExpression = GlobalVariableExpression {}
- data DIExpression = Expression {}
- data DILocation = Location {}
- data MDNode
- data DWOp
- data DWOpFragment = DW_OP_LLVM_Fragment {}
- data MDRef a
- = MDRef MetadataNodeID
- | MDInline a
- newtype MetadataNodeID = MetadataNodeID Word
- data Metadata
- type CallableOperand = Either InlineAssembly Operand
- data Operand
Documentation
data DILocalVariable Source #
Instances
data DIGlobalVariable Source #
GlobalVariable | |
|
Instances
data DIVariable Source #
Instances
data DILexicalBlockBase Source #
DILexicalBlock | |
DILexicalBlockFile | |
|
Instances
data DITemplateParameter Source #
DITemplateTypeParameter | |
| |
DITemplateValueParameter | |
|
Instances
data TemplateValueParameterTag Source #
Instances
AddressEncoding | |
BooleanEncoding | |
FloatEncoding | |
SignedEncoding | |
SignedCharEncoding | |
UnsignedEncoding | |
UnsignedCharEncoding |
Instances
Eq Encoding Source # | |
Data Encoding Source # | |
Defined in LLVM.AST.Operand gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Encoding -> c Encoding # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Encoding # toConstr :: Encoding -> Constr # dataTypeOf :: Encoding -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Encoding) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Encoding) # gmapT :: (forall b. Data b => b -> b) -> Encoding -> Encoding # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Encoding -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Encoding -> r # gmapQ :: (forall d. Data d => d -> u) -> Encoding -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Encoding -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Encoding -> m Encoding # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Encoding -> m Encoding # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Encoding -> m Encoding # | |
Ord Encoding Source # | |
Defined in LLVM.AST.Operand | |
Read Encoding Source # | |
Show Encoding Source # | |
Generic Encoding Source # | |
type Rep Encoding Source # | |
Defined in LLVM.AST.Operand type Rep Encoding = D1 (MetaData "Encoding" "LLVM.AST.Operand" "llvm-hs-pure-7.0.0-inplace" False) ((C1 (MetaCons "AddressEncoding" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "BooleanEncoding" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "FloatEncoding" PrefixI False) (U1 :: * -> *))) :+: ((C1 (MetaCons "SignedEncoding" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "SignedCharEncoding" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "UnsignedEncoding" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "UnsignedCharEncoding" PrefixI False) (U1 :: * -> *)))) |
data DICompositeType Source #
Instances
data DIDerivedType Source #
DerivedType | |
|
Instances
data DerivedTypeTag Source #
Typedef | |
PointerType | |
PtrToMemberType | |
ReferenceType | |
RValueReferenceType | |
ConstType | |
VolatileType | |
RestrictType | |
AtomicType | |
Member | |
Inheritance | |
Friend |
Instances
data DISubroutineType Source #
Instances
data DIBasicType Source #
BasicType | |
|
Instances
DIBasicType DIBasicType | |
DICompositeType DICompositeType | |
DIDerivedType DIDerivedType | |
DISubroutineType DISubroutineType |
Instances
data BasicTypeTag Source #
Instances
data Virtuality Source #
Instances
data DISubprogram Source #
Subprogram | |
|
Instances
data DILocalScope Source #
Instances
data ChecksumKind Source #
Instances
data ChecksumInfo Source #
Instances
Instances
Eq DIFile Source # | |
Data DIFile Source # | |
Defined in LLVM.AST.Operand gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DIFile -> c DIFile # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DIFile # toConstr :: DIFile -> Constr # dataTypeOf :: DIFile -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DIFile) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DIFile) # gmapT :: (forall b. Data b => b -> b) -> DIFile -> DIFile # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DIFile -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DIFile -> r # gmapQ :: (forall d. Data d => d -> u) -> DIFile -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DIFile -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DIFile -> m DIFile # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DIFile -> m DIFile # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DIFile -> m DIFile # | |
Ord DIFile Source # | |
Read DIFile Source # | |
Show DIFile Source # | |
Generic DIFile Source # | |
type Rep DIFile Source # | |
Defined in LLVM.AST.Operand type Rep DIFile = D1 (MetaData "DIFile" "LLVM.AST.Operand" "llvm-hs-pure-7.0.0-inplace" False) (C1 (MetaCons "File" PrefixI True) (S1 (MetaSel (Just "filename") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ShortByteString) :*: (S1 (MetaSel (Just "directory") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ShortByteString) :*: S1 (MetaSel (Just "checksum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe ChecksumInfo))))) |
data DICompileUnit Source #
CompileUnit | |
|
Instances
data DebugEmissionKind Source #
Instances
data DINamespace Source #
Namespace | |
|
Instances
Instances
DICompileUnit DICompileUnit | |
DIFile DIFile | |
DILocalScope DILocalScope | |
DIModule DIModule | |
DINamespace DINamespace | |
DIType DIType |
Instances
Instances
Eq DICount Source # | |
Data DICount Source # | |
Defined in LLVM.AST.Operand gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DICount -> c DICount # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DICount # toConstr :: DICount -> Constr # dataTypeOf :: DICount -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DICount) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DICount) # gmapT :: (forall b. Data b => b -> b) -> DICount -> DICount # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DICount -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DICount -> r # gmapQ :: (forall d. Data d => d -> u) -> DICount -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DICount -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DICount -> m DICount # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DICount -> m DICount # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DICount -> m DICount # | |
Ord DICount Source # | |
Read DICount Source # | |
Show DICount Source # | |
Generic DICount Source # | |
type Rep DICount Source # | |
Defined in LLVM.AST.Operand type Rep DICount = D1 (MetaData "DICount" "LLVM.AST.Operand" "llvm-hs-pure-7.0.0-inplace" False) (C1 (MetaCons "DICountConstant" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int64)) :+: C1 (MetaCons "DICountVariable" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (MDRef DIVariable)))) |
data DISubrange Source #
Subrange | |
|
Instances
data DIEnumerator Source #
Enumerator | |
|
Instances
data DIImportedEntity Source #
Instances
data ImportedEntityTag Source #
Instances
data DIObjCProperty Source #
ObjCProperty | |
|
Instances
DIEnumerator DIEnumerator | |
DIImportedEntity DIImportedEntity | |
DIObjCProperty DIObjCProperty | |
DIScope DIScope | |
DISubrange DISubrange | |
DITemplateParameter DITemplateParameter | |
DIVariable DIVariable |
Instances
data DIMacroNode Source #
DIMacro | |
| |
DIMacroFile | |
Instances
data DIMacroInfo Source #
Instances
Instances
Eq DIFlag Source # | |
Data DIFlag Source # | |
Defined in LLVM.AST.Operand gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DIFlag -> c DIFlag # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DIFlag # toConstr :: DIFlag -> Constr # dataTypeOf :: DIFlag -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DIFlag) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DIFlag) # gmapT :: (forall b. Data b => b -> b) -> DIFlag -> DIFlag # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DIFlag -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DIFlag -> r # gmapQ :: (forall d. Data d => d -> u) -> DIFlag -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DIFlag -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DIFlag -> m DIFlag # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DIFlag -> m DIFlag # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DIFlag -> m DIFlag # | |
Ord DIFlag Source # | |
Read DIFlag Source # | |
Show DIFlag Source # | |
Generic DIFlag Source # | |
type Rep DIFlag Source # | |
Defined in LLVM.AST.Operand type Rep DIFlag = D1 (MetaData "DIFlag" "LLVM.AST.Operand" "llvm-hs-pure-7.0.0-inplace" False) ((((C1 (MetaCons "Accessibility" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DIAccessibility)) :+: C1 (MetaCons "FwdDecl" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "AppleBlock" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "BlockByrefStruct" PrefixI False) (U1 :: * -> *))) :+: ((C1 (MetaCons "VirtualFlag" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Artificial" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "Explicit" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "Prototyped" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "ObjcClassComplete" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "ObjectPointer" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Vector" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "StaticMember" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "LValueReference" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "RValueReference" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "InheritanceFlag" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DIInheritance)) :+: C1 (MetaCons "IntroducedVirtual" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "BitField" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "NoReturn" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MainSubprogram" PrefixI False) (U1 :: * -> *)))))) |
data DIInheritance Source #
Inheritance flag
Instances
data DIAccessibility Source #
Accessiblity flag
Instances
data DIGlobalVariableExpression Source #
A pair of a DIGlobalVariable
and a DIExpression
.
This is used in the cuGlobals
fields of DICompileUnit
.
Instances
data DIExpression Source #
Instances
data DILocation Source #
Instances
MDTuple [Maybe Metadata] | Nothing represents |
DIExpression DIExpression | |
DIGlobalVariableExpression DIGlobalVariableExpression | |
DILocation DILocation | |
DIMacroNode DIMacroNode | |
DINode DINode |
Instances
DwOpFragment DWOpFragment | Must appear at the end |
DW_OP_StackValue | Must be the last one or followed by a DW_OP_LLVM_Fragment |
DW_OP_Swap | |
DW_OP_ConstU Word64 | |
DW_OP_PlusUConst Word64 | |
DW_OP_Plus | |
DW_OP_Minus | |
DW_OP_Mul | |
DW_OP_Deref | |
DW_OP_XDeref |
Instances
Eq DWOp Source # | |
Data DWOp Source # | |
Defined in LLVM.AST.Operand gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DWOp -> c DWOp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DWOp # dataTypeOf :: DWOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DWOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DWOp) # gmapT :: (forall b. Data b => b -> b) -> DWOp -> DWOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DWOp -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DWOp -> r # gmapQ :: (forall d. Data d => d -> u) -> DWOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DWOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DWOp -> m DWOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DWOp -> m DWOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DWOp -> m DWOp # | |
Ord DWOp Source # | |
Read DWOp Source # | |
Show DWOp Source # | |
Generic DWOp Source # | |
type Rep DWOp Source # | |
Defined in LLVM.AST.Operand type Rep DWOp = D1 (MetaData "DWOp" "LLVM.AST.Operand" "llvm-hs-pure-7.0.0-inplace" False) (((C1 (MetaCons "DwOpFragment" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DWOpFragment)) :+: C1 (MetaCons "DW_OP_StackValue" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "DW_OP_Swap" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "DW_OP_ConstU" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Word64)) :+: C1 (MetaCons "DW_OP_PlusUConst" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Word64))))) :+: ((C1 (MetaCons "DW_OP_Plus" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "DW_OP_Minus" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "DW_OP_Mul" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "DW_OP_Deref" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "DW_OP_XDeref" PrefixI False) (U1 :: * -> *))))) |
data DWOpFragment Source #
Instances
MDRef
can either represent a reference to some piece of
metadata or the metadata itself.
This is mainly useful for encoding cyclic metadata. Note that LLVM represents inline and non-inline nodes identically, so roundtripping the Haskell AST does not preserve whether a node was inline or not.
Instances
Functor MDRef Source # | |
Eq a => Eq (MDRef a) Source # | |
Data a => Data (MDRef a) Source # | |
Defined in LLVM.AST.Operand gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MDRef a -> c (MDRef a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MDRef a) # toConstr :: MDRef a -> Constr # dataTypeOf :: MDRef a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MDRef a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MDRef a)) # gmapT :: (forall b. Data b => b -> b) -> MDRef a -> MDRef a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MDRef a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MDRef a -> r # gmapQ :: (forall d. Data d => d -> u) -> MDRef a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MDRef a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MDRef a -> m (MDRef a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MDRef a -> m (MDRef a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MDRef a -> m (MDRef a) # | |
Ord a => Ord (MDRef a) Source # | |
Read a => Read (MDRef a) Source # | |
Show a => Show (MDRef a) Source # | |
Generic (MDRef a) Source # | |
type Rep (MDRef a) Source # | |
Defined in LLVM.AST.Operand type Rep (MDRef a) = D1 (MetaData "MDRef" "LLVM.AST.Operand" "llvm-hs-pure-7.0.0-inplace" False) (C1 (MetaCons "MDRef" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MetadataNodeID)) :+: C1 (MetaCons "MDInline" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a))) |
newtype MetadataNodeID Source #
A MetadataNodeID
is a number for identifying a metadata node.
Note this is different from "named metadata", which are represented with
NamedMetadataDefinition
.
Instances
MDString ShortByteString | |
MDNode (MDRef MDNode) | |
MDValue Operand | http://llvm.org/docs/doxygen/html/classllvm_1_1ValueAsMetadata.html |
Instances
type CallableOperand = Either InlineAssembly Operand Source #
The Call
instruction is special: the callee can be inline assembly
An Operand
is roughly that which is an argument to an Instruction
LocalReference Type Name | %foo |
ConstantOperand Constant |
|
MetadataOperand Metadata |