Safe Haskell | None |
---|
- data GenStgArg occ
- type GenStgLiveVars occ = UniqSet occ
- data GenStgBinding bndr occ
- data GenStgExpr bndr occ
- = StgApp occ [GenStgArg occ]
- | StgLit Literal
- | StgConApp DataCon [GenStgArg occ]
- | StgOpApp StgOp [GenStgArg occ] Type
- | StgLam [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)
- data GenStgRhs bndr occ
- = StgRhsClosure CostCentreStack StgBinderInfo [occ] !UpdateFlag SRT [bndr] (GenStgExpr bndr occ)
- | StgRhsCon CostCentreStack DataCon [GenStgArg occ]
- type GenStgAlt bndr occ = (AltCon, [bndr], [Bool], GenStgExpr bndr occ)
- data AltType
- data UpdateFlag
- = ReEntrant
- | Updatable
- | SingleEntry
- 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
- data SRT
- stgBindHasCafRefs :: GenStgBinding bndr Id -> Bool
- stgArgHasCafRefs :: GenStgArg Id -> Bool
- stgRhsArity :: StgRhs -> Int
- isDllConApp :: DynFlags -> Module -> DataCon -> [StgArg] -> Bool
- stgArgType :: StgArg -> Type
- pprStgBinding :: StgBinding -> SDoc
- pprStgBindings :: [StgBinding] -> SDoc
- pprStgLVs :: Outputable occ => GenStgLiveVars occ -> SDoc
Documentation
Outputable bdee => Outputable (GenStgArg bdee) |
type GenStgLiveVars occ = UniqSet occSource
data GenStgBinding bndr occ Source
(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgBinding bndr bdee) |
data GenStgExpr bndr occ Source
StgApp occ [GenStgArg occ] | |
StgLit Literal | |
StgConApp DataCon [GenStgArg occ] | |
StgOpApp StgOp [GenStgArg occ] Type | |
StgLam [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) |
(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgExpr bndr bdee) |
data GenStgRhs bndr occ Source
StgRhsClosure CostCentreStack StgBinderInfo [occ] !UpdateFlag SRT [bndr] (GenStgExpr bndr occ) | |
StgRhsCon CostCentreStack DataCon [GenStgArg occ] |
(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgRhs bndr bdee) |
type GenStgAlt bndr occ = (AltCon, [bndr], [Bool], GenStgExpr bndr occ)Source
isUpdatable :: UpdateFlag -> BoolSource
data StgBinderInfo Source
type StgLiveVars = GenStgLiveVars IdSource
type StgBinding = GenStgBinding Id IdSource
type StgExpr = GenStgExpr Id IdSource
stgBindHasCafRefs :: GenStgBinding bndr Id -> BoolSource
stgRhsArity :: StgRhs -> IntSource
isDllConApp :: DynFlags -> Module -> DataCon -> [StgArg] -> BoolSource
Does this constructor application refer to anything in a different *Windows* DLL? If so, we can't allocate it statically
stgArgType :: StgArg -> TypeSource
Type of an StgArg
Very half baked becase we have lost the type arguments.
pprStgBindings :: [StgBinding] -> SDocSource
pprStgLVs :: Outputable occ => GenStgLiveVars occ -> SDocSource