ghc-8.0.0.20160421: The GHC API

Safe HaskellNone
LanguageHaskell2010

StgSyn

Synopsis

Documentation

data GenStgArg occ Source #

Constructors

StgVarArg occ 
StgLitArg Literal 

Instances

Outputable bdee => Outputable (GenStgArg bdee) # 

Methods

ppr :: GenStgArg bdee -> SDoc Source #

pprPrec :: Rational -> GenStgArg bdee -> SDoc Source #

data GenStgBinding bndr occ Source #

Constructors

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

Instances

(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgBinding bndr bdee) # 

Methods

ppr :: GenStgBinding bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgBinding bndr bdee -> SDoc Source #

data GenStgExpr bndr occ Source #

Constructors

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) 

Instances

(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgExpr bndr bdee) # 

Methods

ppr :: GenStgExpr bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgExpr bndr bdee -> SDoc Source #

data GenStgRhs bndr occ Source #

Instances

(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgRhs bndr bdee) # 

Methods

ppr :: GenStgRhs bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgRhs bndr bdee -> SDoc Source #

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

data SRT Source #

Constructors

NoSRT 
SRTEntries IdSet 

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