ghc-7.4.2: The GHC API

Safe Haskell | None

StgSyn

# Documentation

data GenStgArg occ

Constructors

StgVarArg occ |
StgLitArg Literal |
StgTypeArg Type |

Instances

Outputable bdee => Outputable (GenStgArg bdee) |

type GenStgLiveVars occ = UniqSet occ

data GenStgBinding bndr occ

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

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 !Bool !Bool (GenStgExpr bndr occ) |
StgTick Module Int (GenStgExpr bndr occ) |

Instances

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

data GenStgRhs bndr occ

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)

data AltType

Constructors

PolyAlt |
UbxTupAlt TyCon |
AlgAlt TyCon |
PrimAlt TyCon |

Instances

Outputable AltType |

data UpdateFlag

Constructors

ReEntrant |
Updatable |
SingleEntry |

Instances

Outputable UpdateFlag |

isUpdatable :: UpdateFlag -> Bool

data StgBinderInfo

noBinderInfo :: StgBinderInfo

stgSatOcc :: StgBinderInfo

stgUnsatOcc :: StgBinderInfo

satCallsOnly :: StgBinderInfo -> Bool

combineStgBinderInfo :: StgBinderInfo -> StgBinderInfo -> StgBinderInfo

type StgArg = GenStgArg Id

type StgLiveVars = GenStgLiveVars Id

type StgBinding = GenStgBinding Id Id

type StgExpr = GenStgExpr Id Id

type StgRhs = GenStgRhs Id Id

type StgAlt = GenStgAlt Id Id

data StgOp

Constructors

StgPrimOp PrimOp |
StgPrimCallOp PrimCall |
StgFCallOp ForeignCall Unique |

data SRT

Constructors

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

stgBindHasCafRefs :: GenStgBinding bndr Id -> Bool

stgArgHasCafRefs :: GenStgArg Id -> Bool

stgRhsArity :: StgRhs -> Int

isDllConApp :: DynFlags -> DataCon -> [StgArg] -> Bool

isStgTypeArg :: StgArg -> Bool

stgArgType :: StgArg -> Type

pprStgBinding :: StgBinding -> SDoc

pprStgBindings :: [StgBinding] -> SDoc

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

pprStgLVs :: Outputable occ => GenStgLiveVars occ -> SDoc