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

Safe HaskellNone
LanguageHaskell98

DDC.Core.Llvm.Metadata.Tbaa

Synopsis

Documentation

data MDSuper Source

Metadata for a supercombinator.

Constructors

MDSuper 

Fields

nameMap :: MDEnv
 
decls :: [MDecl]
 

deriveMD Source

Arguments

:: BindStruct Exp Name 
=> String

Sanitized name of super

-> Exp

Super to derive from

-> ConvertM MDSuper

Metadata encoding witness information

Generate tbaa metadata for a top-level Salt supercombinator.

annot Source

Arguments

:: (BindStruct (c Name) Name, 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.