Safe Haskell | None |
---|---|
Language | Haskell2010 |
- Metadata can be constructed in a few different ways (See below).
- After which it can either be attached to LLVM statements to pass along
- Metadata expressions -- these are the raw metadata values that encode
- Metadata nodes -- global metadata variables that attach a metadata
- Named metadata -- global metadata variables that attach a metadata nodes
- Attach to instructions -- metadata can be attached to LLVM instructions
- As arguments -- llvm functions can take metadata as arguments, for
- As a named metadata -- Here the metadata is simply declared in global
Metadata can be constructed in a few different ways (See below).
After which it can either be attached to LLVM statements to pass along
Metadata expressions -- these are the raw metadata values that encode
Metadata nodes -- global metadata variables that attach a metadata
Named metadata -- global metadata variables that attach a metadata nodes
Attach to instructions -- metadata can be attached to LLVM instructions
As arguments -- llvm functions can take metadata as arguments, for
As a named metadata -- Here the metadata is simply declared in global
A reference to an un-named metadata node.
Instances
Enum MetaId Source # | |
Defined in Llvm.MetaData succ :: MetaId -> MetaId Source # pred :: MetaId -> MetaId Source # toEnum :: Int -> MetaId Source # fromEnum :: MetaId -> Int Source # enumFrom :: MetaId -> [MetaId] Source # enumFromThen :: MetaId -> MetaId -> [MetaId] Source # enumFromTo :: MetaId -> MetaId -> [MetaId] Source # enumFromThenTo :: MetaId -> MetaId -> MetaId -> [MetaId] Source # | |
Eq MetaId Source # | |
Ord MetaId Source # | |
Outputable MetaId Source # | |
LLVM metadata expressions
Associates some metadata with a specific label for attaching to an instruction.
Metadata declarations. Metadata can only be declared in global scope.
MetaNamed !LMString [MetaId] | Named metadata. Only used for communicating module information to LLVM. ('!name = !{ [!n] }' form). |
MetaUnnamed !MetaId !MetaExpr | Metadata node declaration. ('!0 = metadata !{ expression }' form). |