ghc-8.2.2: The GHC API

Safe HaskellNone
LanguageHaskell2010

StgSyn

Synopsis

Documentation

data GenStgArg occ #

Constructors

StgVarArg occ 
StgLitArg Literal 

Instances

Outputable bdee => Outputable (GenStgArg bdee) # 

Methods

ppr :: GenStgArg bdee -> SDoc #

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

data GenStgTopBinding bndr occ #

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 #

pprPrec :: Rational -> GenStgTopBinding bndr bdee -> SDoc #

data GenStgBinding bndr occ #

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 #

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

data GenStgExpr bndr occ #

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 #

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

data GenStgRhs bndr occ #

Instances

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

Methods

ppr :: GenStgRhs bndr bdee -> SDoc #

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

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

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

Does this constructor application refer to anything in a different *Windows* DLL? If so, we can't allocate it statically

stgArgType :: StgArg -> Type #

Type of an StgArg

Very half baked because we have lost the type arguments.

stripStgTicksTop :: (Tickish Id -> Bool) -> StgExpr -> ([Tickish Id], StgExpr) #

Strip ticks of a given type from an STG expression