ghc-7.2.1: The GHC API

OldCmm

Synopsis

Documentation

type Cmm = GenCmm CmmStatics CmmInfo (ListGraph CmmStmt)

Cmm with the info table as a data type

type RawCmm = GenCmm CmmStatics (Maybe CmmStatics) (ListGraph CmmStmt)

Cmm with the info tables converted to a list of CmmStatic along with the info table label. If we are building without tables-next-to-code there will be no statics

INVARIANT: if there is an info table, it has at least one CmmStatic

newtype ListGraph i

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

data UpdateFrame

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

Constructors

UpdateFrame CmmExpr [CmmExpr] 

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

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

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

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

mapBlockStmts :: (i -> i') -> GenBasicBlock i -> GenBasicBlock i'

module CmmDecl

module CmmExpr