ghc-8.8.4: The GHC API
Safe HaskellNone
LanguageHaskell2010

Cmm

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 

Instances

Instances details
(Outputable d, Outputable info, Outputable i) => Outputable (GenCmmDecl d info i) # 
Instance details

Defined in PprCmmDecl

Methods

ppr :: GenCmmDecl d info i -> SDoc #

pprPrec :: Rational -> GenCmmDecl d info i -> SDoc #

data GenCmmGraph n #

Constructors

CmmGraph 

Fields

Instances

Instances details
Outputable CmmGraph # 
Instance details

Defined in PprCmm

data Section #

Constructors

Section SectionType CLabel 

data CmmStatics #

Constructors

Statics CLabel [CmmStatic] 

Instances

Instances details
Outputable CmmStatics # 
Instance details

Defined in PprCmmDecl

data CmmStatic #

Instances

Instances details
Outputable CmmStatic # 
Instance details

Defined in PprCmmDecl

isSecConstant :: Section -> Bool #

Should a data in this section be considered constant

Blocks containing lists

data GenBasicBlock i #

Constructors

BasicBlock BlockId [i] 

Instances

Instances details
Outputable instr => Outputable (GenBasicBlock instr) # 
Instance details

Defined in Cmm

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

Instances details
Outputable instr => Outputable (ListGraph instr) # 
Instance details

Defined in Cmm

Methods

ppr :: ListGraph instr -> SDoc #

pprPrec :: Rational -> ListGraph instr -> SDoc #

Info Tables

data CmmTopInfo #

Instances

Instances details
Outputable CmmTopInfo # 
Instance details

Defined in PprCmm

data CmmStackInfo #

Instances

Instances details
Outputable CmmStackInfo # 
Instance details

Defined in PprCmm

data CmmInfoTable #

Info table as a haskell data type

Instances

Instances details
Outputable CmmInfoTable # 
Instance details

Defined in PprCmmDecl

data ClosureTypeInfo #

Instances

Instances details
Outputable ClosureTypeInfo # 
Instance details

Defined in SMRep

Statements, expressions and types

module CmmNode

module CmmExpr