ddc-core-llvm-0.4.1.3: Disciplined Disciple Compiler LLVM code generator.

Safe HaskellNone

DDC.Core.Llvm.Metadata.Tbaa

Synopsis

Documentation

data MDSuper Source

Metadata for a supercombinator.

Constructors

MDSuper 

Fields

nameMap :: MDEnv
 
decls :: [MDecl]
 

Instances

deriveMDSource

Arguments

:: BindStruct (Exp ()) 
=> String

Sanitized name of super

-> Exp () Name

Super to derive from

-> LlvmM MDSuper

Metadata encoding witness information

Generate tbaa metadata for a top-level Salt supercombinator.

annotSource

Arguments

:: (BindStruct c, Show (c Name)) 
=> KindEnv Name 
-> MDSuper

Metadata

-> [c Name]

Things to lookup for Meta data.

-> Instr

Instruction to annotate

-> AnnotInstr 

Attach relevant metadata to instructions

lookup :: Bound Name -> MDSuper -> Maybe [MDecl]Source

Lookup the metadata for a name, from the metadata tree attached to a supecombinator.

lookups :: [Bound Name] -> MDSuper -> [Maybe [MDecl]]Source

Like lookup but lookup metadata for several names at once.