ghc-8.0.0.20160204: The GHC API

Safe HaskellNone
LanguageHaskell2010

Cmm

Contents

Synopsis

Cmm top-level datatypes

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

data GenCmmDecl d h g

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 

data GenCmmGraph n

Constructors

CmmGraph 

Fields

data Section

Constructors

Section SectionType CLabel 

data CmmStatics

Constructors

Statics CLabel [CmmStatic] 

Blocks containing lists

data GenBasicBlock i

Constructors

BasicBlock BlockId [i] 

Instances

Outputable instr => Outputable (GenBasicBlock instr) 

Methods

ppr :: GenBasicBlock instr -> SDoc

pprPrec :: Rational -> GenBasicBlock instr -> SDoc

blockId :: GenBasicBlock i -> BlockId

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

newtype ListGraph i

Constructors

ListGraph [GenBasicBlock i] 

Instances

Outputable instr => Outputable (ListGraph instr) 

Methods

ppr :: ListGraph instr -> SDoc

pprPrec :: Rational -> ListGraph instr -> SDoc

Cmm graphs

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

Info Tables

data CmmInfoTable

Info table as a haskell data type

data C_SRT

Instances

Eq C_SRT 

Methods

(==) :: C_SRT -> C_SRT -> Bool

(/=) :: C_SRT -> C_SRT -> Bool

Statements, expressions and types

module CmmNode

module CmmExpr