ddc-core-llvm-0.4.3.1: 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

Instances

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 
=> 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.