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

Safe HaskellSafe
LanguageHaskell98

DDC.Llvm.Analysis.Defs

Synopsis

Documentation

data Def Source #

How a variable is defined.

Constructors

DefVar

Variable is given a non-constant value.

DefAlias Var

Variable is an alias of another variable.

DefClosedConstant Exp

Variable binds some closed, constant expression.

Instances

Show Def Source # 

Methods

showsPrec :: Int -> Def -> ShowS #

show :: Def -> String #

showList :: [Def] -> ShowS #

takeDefOfInstr :: Instr -> Maybe (Var, Def) Source #

If this instruction defines a variable, then collect some information about it.

defsOfBlock :: Block -> Map Var (Label, Def) Source #

Collect information about how all the local variables in this block are defined.