GHC.Llvm.MetaData

ghc-9.2.5: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Llvm.MetaData

Synopsis

- newtype MetaId = MetaId Int
- data MetaExpr
  - = MetaStr !LMString
  - | MetaNode !MetaId
  - | MetaVar !LlvmVar
  - | MetaStruct [MetaExpr]
- data MetaAnnot = MetaAnnot LMString MetaExpr
- data MetaDecl
  - = MetaNamed !LMString [MetaId]
  - | MetaUnnamed !MetaId !MetaExpr

# Documentation

newtype MetaId Source #

A reference to an un-named metadata node.

Constructors

MetaId Int |

#### Instances

Instances details

Enum MetaId Source # |
Instance details Defined in GHC.Llvm.MetaData Methods 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 #
Outputable MetaId Source # |
Instance details Defined in GHC.Llvm.MetaData Methods ppr :: MetaId -> SDoc Source #
Eq MetaId Source # |
Instance details Defined in GHC.Llvm.MetaData Methods (==) :: MetaId -> MetaId -> Bool # (/=) :: MetaId -> MetaId -> Bool #
Ord MetaId Source # |
Instance details Defined in GHC.Llvm.MetaData Methods compare :: MetaId -> MetaId -> Ordering # (<) :: MetaId -> MetaId -> Bool # (<=) :: MetaId -> MetaId -> Bool # (>) :: MetaId -> MetaId -> Bool # (>=) :: MetaId -> MetaId -> Bool # max :: MetaId -> MetaId -> MetaId # min :: MetaId -> MetaId -> MetaId #

data MetaExpr Source #

LLVM metadata expressions

Constructors

MetaStr !LMString |
MetaNode !MetaId |
MetaVar !LlvmVar |
MetaStruct [MetaExpr] |

#### Instances

Instances details

Eq MetaExpr Source # |
Instance details Defined in GHC.Llvm.MetaData Methods (==) :: MetaExpr -> MetaExpr -> Bool # (/=) :: MetaExpr -> MetaExpr -> Bool #

data MetaAnnot Source #

Associates some metadata with a specific label for attaching to an instruction.

Constructors

MetaAnnot LMString MetaExpr |

#### Instances

Instances details

Eq MetaAnnot Source # |
Instance details Defined in GHC.Llvm.MetaData Methods (==) :: MetaAnnot -> MetaAnnot -> Bool # (/=) :: MetaAnnot -> MetaAnnot -> Bool #

data MetaDecl Source #

Metadata declarations. Metadata can only be declared in global scope.

Constructors

MetaNamed !LMString [MetaId] | Named metadata. Only used for communicating module information to LLVM. ('!name = !{ [!<n>] }' form).
MetaUnnamed !MetaId !MetaExpr | Metadata node declaration. ('!0 = metadata !{ <metadata expression> }' form).