decaf-0.1.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

CodeGen.LLVMIR

Documentation

newtype Label Source #

Constructors

Label Int 

Instances

Instances details
Show Label Source # 
Instance details

Defined in CodeGen.LLVMIR

Methods

showsPrec :: Int -> Label -> ShowS #

show :: Label -> String #

showList :: [Label] -> ShowS #

data Module Source #

Constructors

Module 

Fields

Instances

Instances details
Show Module Source # 
Instance details

Defined in CodeGen.LLVMIR

data Global Source #

Constructors

Global 

Fields

Instances

Instances details
Show Global Source # 
Instance details

Defined in CodeGen.LLVMIR

newtype Declare Source #

Constructors

Declare 

Fields

Instances

Instances details
Show Declare Source # 
Instance details

Defined in CodeGen.LLVMIR

data Function Source #

Constructors

Function 

Instances

Instances details
Show Function Source # 
Instance details

Defined in CodeGen.LLVMIR

data Argument Source #

Constructors

Argument 

Fields

Instances

Instances details
Show Argument Source # 
Instance details

Defined in CodeGen.LLVMIR

data Type Source #

Instances

Instances details
Show Type Source # 
Instance details

Defined in CodeGen.LLVMIR

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

data BasicBlock Source #

Constructors

BasicBlock 

Fields

Instances

Instances details
Show BasicBlock Source # 
Instance details

Defined in CodeGen.LLVMIR

data Var Source #

Constructors

Var 

Fields

Instances

Instances details
Generic Var Source # 
Instance details

Defined in CodeGen.LLVMIR

Associated Types

type Rep Var :: Type -> Type #

Methods

from :: Var -> Rep Var x #

to :: Rep Var x -> Var #

Show Var Source # 
Instance details

Defined in CodeGen.LLVMIR

Methods

showsPrec :: Int -> Var -> ShowS #

show :: Var -> String #

showList :: [Var] -> ShowS #

type Rep Var Source # 
Instance details

Defined in CodeGen.LLVMIR

type Rep Var = D1 ('MetaData "Var" "CodeGen.LLVMIR" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Var" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 VID) :*: (S1 ('MetaSel ('Just "tpe") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Type) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range))))

formatVar :: Format r (Var -> r) Source #

data Value Source #

Constructors

IntImm !Type !Int64 
Variable !Var 

Instances

Instances details
Show Value Source # 
Instance details

Defined in CodeGen.LLVMIR

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

valueWithType :: Format r (Value -> r) Source #

data CondCodes Source #

Constructors

EQL 
NEQ 
SGT 
SGE 
SLT 
SLE 

Instances

Instances details
Show CondCodes Source # 
Instance details

Defined in CodeGen.LLVMIR

Eq CondCodes Source # 
Instance details

Defined in CodeGen.LLVMIR

data TermInst Source #

Constructors

Ret !(Maybe Value) !Type 
BrUncon !Label 
BrCon !Value !Label !Label 

Instances

Instances details
Show TermInst Source # 
Instance details

Defined in CodeGen.LLVMIR

data BinaryInst Source #

Instances

Instances details
Show BinaryInst Source # 
Instance details

Defined in CodeGen.LLVMIR

data BitwiseBinaryInst Source #

Constructors

And !Var !Type !Value !Value 
Or !Var !Type !Value !Value 

Instances

Instances details
Show BitwiseBinaryInst Source # 
Instance details

Defined in CodeGen.LLVMIR

data MemAccInst Source #

Instances

Instances details
Show MemAccInst Source # 
Instance details

Defined in CodeGen.LLVMIR