Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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)
- | StgTick (Tickish bndr) (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
- 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
- = NoSRT
- | SRTEntries IdSet
- stgBindHasCafRefs :: GenStgBinding bndr Id -> Bool
- stgArgHasCafRefs :: GenStgArg Id -> Bool
- stgRhsArity :: StgRhs -> Int
- isDllConApp :: DynFlags -> Module -> DataCon -> [StgArg] -> Bool
- stgArgType :: StgArg -> Type
- stripStgTicksTop :: (Tickish Id -> Bool) -> StgExpr -> ([Tickish Id], StgExpr)
- pprStgBinding :: StgBinding -> SDoc
- pprStgBindings :: [StgBinding] -> SDoc
- pprStgLVs :: Outputable occ => GenStgLiveVars occ -> SDoc
Documentation
Outputable bdee => Outputable (GenStgArg bdee) # | |
type GenStgLiveVars occ = UniqSet occ Source #
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) | |
StgTick (Tickish bndr) (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) # | |
isUpdatable :: UpdateFlag -> Bool Source #
data StgBinderInfo Source #
satCallsOnly :: StgBinderInfo -> Bool Source #
type StgLiveVars = GenStgLiveVars Id Source #
type StgBinding = GenStgBinding Id Id Source #
stgBindHasCafRefs :: GenStgBinding bndr Id -> Bool Source #
stgRhsArity :: StgRhs -> Int Source #
isDllConApp :: DynFlags -> Module -> DataCon -> [StgArg] -> Bool Source #
Does this constructor application refer to anything in a different *Windows* DLL? If so, we can't allocate it statically
stgArgType :: StgArg -> Type Source #
Type of an StgArg
Very half baked becase we have lost the type arguments.
stripStgTicksTop :: (Tickish Id -> Bool) -> StgExpr -> ([Tickish Id], StgExpr) Source #
Strip ticks of a given type from an STG expression
pprStgBinding :: StgBinding -> SDoc Source #
pprStgBindings :: [StgBinding] -> SDoc Source #
pprStgLVs :: Outputable occ => GenStgLiveVars occ -> SDoc Source #