ghc-7.0.3: The GHC API

Cmm

Synopsis

Documentation

newtype GenCmm d h g Source

Constructors

Cmm [GenCmmTop d h g] 

Instances

(Outputable d, Outputable info, Outputable g) => Outputable (GenCmm d info g) 

type Cmm = GenCmm CmmStatic CmmInfo (ListGraph CmmStmt)Source

Cmm with the info table as a data type

type RawCmm = GenCmm CmmStatic [CmmStatic] (ListGraph CmmStmt)Source

Cmm with the info tables converted to a list of CmmStatic

data GenCmmTop d h g Source

A top-level chunk, abstracted over the type of the contents of the basic blocks (Cmm or instructions are the likely instantiations).

Constructors

CmmProc h CLabel CmmFormals g 
CmmData Section [d] 

Instances

(Outputable d, Outputable info, Outputable i) => Outputable (GenCmmTop d info i) 

newtype ListGraph i Source

A control-flow graph represented as a list of extended basic blocks.

Constructors

ListGraph [GenBasicBlock i]

Code, may be empty. The first block is the entry point. The order is otherwise initially unimportant, but at some point the code gen will fix the order.

Instances

Outputable instr => Outputable (ListGraph instr) 

cmmMapGraph :: (g -> g') -> GenCmm d h g -> GenCmm d h g'Source

cmmTopMapGraph :: (g -> g') -> GenCmmTop d h g -> GenCmmTop d h g'Source

cmmMapGraphM :: Monad m => (String -> g -> m g') -> GenCmm d h g -> m (GenCmm d h g')Source

cmmTopMapGraphM :: Monad m => (String -> g -> m g') -> GenCmmTop d h g -> m (GenCmmTop d h g')Source

data UpdateFrame Source

A frame that is to be pushed before entry to the function. Used to handle update frames.

Constructors

UpdateFrame CmmExpr [CmmExpr] 

data ClosureTypeInfo Source

Constructors

ConstrInfo ClosureLayout ConstrTag ConstrDescription 
FunInfo ClosureLayout C_SRT FunArity ArgDescr SlowEntry 
ThunkInfo ClosureLayout C_SRT 
ThunkSelectorInfo SelectorOffset C_SRT 
ContInfo [Maybe LocalReg] C_SRT 

module CmmExpr