GHC.Core.Opt.Simplify.Env
The simplifier mode
seDynFlags :: SimplEnv -> DynFlags Source #
Environments
Constructors
SimplEnv | |
Fields
|
pprSimplEnv :: SimplEnv -> SDoc Source #
mkSimplEnv :: SimplMode -> SimplEnv Source #
zapSubstEnv :: SimplEnv -> SimplEnv Source #
setSubstEnv :: SimplEnv -> TvSubstEnv -> CvSubstEnv -> SimplIdSubst -> SimplEnv Source #
bumpCaseDepth :: SimplEnv -> SimplEnv Source #
getInScope :: SimplEnv -> InScopeSet Source #
setInScopeFromF :: SimplEnv -> SimplFloats -> SimplEnv Source #
setInScopeSet :: SimplEnv -> InScopeSet -> SimplEnv Source #
enterRecGroupRHSs :: SimplEnv -> [OutBndr] -> (SimplEnv -> SimplM (r, SimplEnv)) -> SimplM (r, SimplEnv) Source #
Substitution results
A substitution result.
Constructors
DoneEx OutExpr (Maybe JoinArity) | |
DoneId OutId | |
ContEx TvSubstEnv CvSubstEnv SimplIdSubst InExpr |
Instances
refineFromInScope :: InScopeSet -> Var -> Var Source #
Simplifying Id
binders
getTCvSubst :: SimplEnv -> TCvSubst Source #
Floats
data SimplFloats Source #
Constructors
SimplFloats | |
Fields |
Instances
Outputable SimplFloats Source # | |
Defined in GHC.Core.Opt.Simplify.Env Methods ppr :: SimplFloats -> SDoc Source # |
emptyFloats :: SimplEnv -> SimplFloats Source #
isEmptyFloats :: SimplFloats -> Bool Source #
mkRecFloats :: SimplFloats -> SimplFloats Source #
mkFloatBind :: SimplEnv -> OutBind -> (SimplFloats, SimplEnv) Source #
addLetFloats :: SimplFloats -> LetFloats -> SimplFloats Source #
addJoinFloats :: SimplFloats -> JoinFloats -> SimplFloats Source #
addFloats :: SimplFloats -> SimplFloats -> SimplFloats Source #
extendFloats :: SimplFloats -> OutBind -> SimplFloats Source #
wrapFloats :: SimplFloats -> OutExpr -> OutExpr Source #
doFloatFromRhs :: TopLevelFlag -> RecFlag -> Bool -> SimplFloats -> OutExpr -> Bool Source #
getTopFloatBinds :: SimplFloats -> [CoreBind] Source #
LetFloats
Instances
letFloatBinds :: LetFloats -> [CoreBind] Source #
unitLetFloat :: OutBind -> LetFloats Source #
JoinFloats
type JoinFloats = OrdList JoinFloat Source #
wrapJoinFloats :: JoinFloats -> OutExpr -> OutExpr Source #
wrapJoinFloatsX :: SimplFloats -> OutExpr -> (SimplFloats, OutExpr) Source #
unitJoinFloat :: OutBind -> JoinFloats Source #
addJoinFlts :: JoinFloats -> JoinFloats -> JoinFloats Source #