ghc-8.2.1.20171108: 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 GenStgTopBinding bndr occ Source #

A top-level binding.

Constructors

StgTopLifted (GenStgBinding bndr occ) 
StgTopStringLit bndr ByteString 

Instances

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

Methods

ppr :: GenStgTopBinding bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgTopBinding bndr 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] [Type] 
StgOpApp StgOp [GenStgArg occ] Type 
StgLam [bndr] StgExpr 
StgCase (GenStgExpr bndr occ) bndr AltType [GenStgAlt bndr occ] 
StgLet (GenStgBinding bndr occ) (GenStgExpr bndr occ) 
StgLetNoEscape (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], GenStgExpr bndr occ) 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 because 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