ghc-7.8.4: The GHC API

Safe HaskellNone
LanguageHaskell98

Cmm

Contents

Synopsis

Cmm top-level datatypes

type GenCmmGroup d h g = [GenCmmDecl d h g] Source

data GenCmmDecl 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 [GlobalReg] g 
CmmData Section d 

Instances

data GenCmmGraph n Source

Constructors

CmmGraph 

Fields

g_entry :: BlockId
 
g_graph :: Graph n C C
 

Instances

Blocks containing lists

data GenBasicBlock i Source

Constructors

BasicBlock BlockId [i] 

Instances

blockId :: GenBasicBlock i -> BlockId Source

The branch block id is that of the first block in the branch, which is that branch's entry point

newtype ListGraph i Source

Constructors

ListGraph [GenBasicBlock i] 

Instances

Outputable instr => Outputable (ListGraph instr) 

Cmm graphs

type GenCmmReplGraph n e x = UniqSM (Maybe (Graph n e x)) Source

Info Tables

data CmmInfoTable Source

Info table as a haskell data type

data ClosureTypeInfo Source

Constructors

Constr ConstrTag ConstrDescription 
Fun FunArity ArgDescr 
Thunk 
ThunkSelector SelectorOffset 
BlackHole 
IndStatic 

Statements, expressions and types

module CmmNode

module CmmExpr