ghc-8.2.2: 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] 

isSecConstant :: Section -> Bool #

Should a data in this section be considered constant

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