ghc-7.0.3: The GHC API

StgSyn

# Documentation

data GenStgArg occ Source

Constructors

StgVarArg occ |
StgLitArg Literal |
StgTypeArg Type |

Instances

Outputable bdee => Outputable (GenStgArg bdee) |

type GenStgLiveVars occ = UniqSet occSource

data GenStgBinding bndr occ Source

Constructors

StgNonRec bndr (GenStgRhs bndr occ) |
StgRec [(bndr, GenStgRhs bndr occ)] |

Instances

(Outputable bndr, Outputable bdee, Ord bdee) => Outputable (GenStgBinding bndr bdee) |

data GenStgExpr bndr occ Source

Constructors

StgApp occ [GenStgArg occ] |
StgLit Literal |
StgConApp DataCon [GenStgArg occ] |
StgOpApp StgOp [GenStgArg occ] Type |
StgLam Type [bndr] StgExpr |
StgCase (GenStgExpr bndr occ) (GenStgLiveVars occ) (GenStgLiveVars occ) bndr SRT AltType [GenStgAlt bndr occ] |
StgLet (GenStgBinding bndr occ) (GenStgExpr bndr occ) |
StgLetNoEscape (GenStgLiveVars occ) (GenStgLiveVars occ) (GenStgBinding bndr occ) (GenStgExpr bndr occ) |
StgSCC CostCentre (GenStgExpr bndr occ) |
StgTick Module Int (GenStgExpr bndr occ) |

Instances

(Outputable bndr, Outputable bdee, Ord bdee) => Outputable (GenStgExpr bndr bdee) |

data GenStgRhs bndr occ Source

Constructors

StgRhsClosure CostCentreStack StgBinderInfo [occ] !UpdateFlag SRT [bndr] (GenStgExpr bndr occ) |
StgRhsCon CostCentreStack DataCon [GenStgArg occ] |

Instances

(Outputable bndr, Outputable bdee, Ord bdee) => Outputable (GenStgRhs bndr bdee) |

type GenStgAlt bndr occ = (AltCon, [bndr], [Bool], GenStgExpr bndr occ)Source

data AltType Source

Constructors

PolyAlt |
UbxTupAlt TyCon |
AlgAlt TyCon |
PrimAlt TyCon |

Instances

Outputable AltType |

data UpdateFlag Source

Constructors

ReEntrant |
Updatable |
SingleEntry |

Instances

Outputable UpdateFlag |

isUpdatable :: UpdateFlag -> Bool Source

data StgBinderInfo Source

noBinderInfo :: StgBinderInfo Source

stgSatOcc :: StgBinderInfo Source

stgUnsatOcc :: StgBinderInfo Source

satCallsOnly :: StgBinderInfo -> Bool Source

combineStgBinderInfo :: StgBinderInfo -> StgBinderInfo -> StgBinderInfo Source

type StgArg = GenStgArg Id Source

type StgLiveVars = GenStgLiveVars Id Source

type StgBinding = GenStgBinding Id Id Source

type StgExpr = GenStgExpr Id Id Source

type StgRhs = GenStgRhs Id Id Source

type StgAlt = GenStgAlt Id Id Source

data StgOp Source

Constructors

StgPrimOp PrimOp |
StgPrimCallOp PrimCall |
StgFCallOp ForeignCall Unique |

data SRT Source

Constructors

NoSRT |
SRTEntries IdSet |
SRT !Int !Int !Bitmap |

stgBindHasCafRefs :: GenStgBinding bndr Id -> Bool Source

stgArgHasCafRefs :: GenStgArg Id -> Bool Source

stgRhsArity :: StgRhs -> Int Source

isDllConApp :: PackageId -> DataCon -> [StgArg] -> Bool Source

isStgTypeArg :: StgArg -> Bool Source

stgArgType :: StgArg -> Type Source

pprStgBinding :: StgBinding -> SDoc Source

pprStgBindings :: [StgBinding] -> SDoc Source

pprStgBindingsWithSRTs :: [(StgBinding, [(Id, [Id])])] -> SDoc Source