ghc-lib-0.20201101: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

GHC.Core.Opt.Simplify.Utils

Documentation

mkLam :: SimplEnv -> [OutBndr] -> OutExpr -> SimplCont -> SimplM OutExpr Source #

mkCase :: DynFlags -> OutExpr -> OutId -> OutType -> [OutAlt] -> SimplM OutExpr Source #

prepareAlts :: OutExpr -> OutId -> [InAlt] -> SimplM ([AltCon], [InAlt]) Source #

tryEtaExpandRhs :: SimplMode -> OutId -> OutExpr -> SimplM (ArityType, OutExpr) Source #

preInlineUnconditionally :: SimplEnv -> TopLevelFlag -> InId -> InExpr -> StaticEnv -> Maybe SimplEnv Source #

postInlineUnconditionally :: SimplEnv -> TopLevelFlag -> OutId -> OccInfo -> OutExpr -> Bool Source #

activeUnfolding :: SimplMode -> Id -> Bool Source #

activeRule :: SimplMode -> Activation -> Bool Source #

updModeForStableUnfoldings :: Activation -> SimplMode -> SimplMode Source #

updModeForRules :: SimplMode -> SimplMode Source #

data SimplCont Source #

Constructors

Stop OutType CallCtxt 
CastIt OutCoercion SimplCont 
ApplyToVal 

Fields

ApplyToTy 

Fields

Select 

Fields

StrictBind 

Fields

StrictArg 

Fields

TickIt (Tickish Id) SimplCont 

Instances

Instances details
Outputable SimplCont Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Utils

Methods

ppr :: SimplCont -> SDoc

data DupFlag Source #

Constructors

NoDup 
Simplified 
OkToDup 

Instances

Instances details
Outputable DupFlag Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Utils

Methods

ppr :: DupFlag -> SDoc

contArgs :: SimplCont -> (Bool, [ArgSummary], SimplCont) Source #

mkRhsStop :: OutType -> SimplCont Source #

mkLazyArgStop :: OutType -> CallCtxt -> SimplCont Source #

data ArgInfo Source #

Constructors

ArgInfo 

Fields

Instances

Instances details
Outputable ArgInfo Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Utils

Methods

ppr :: ArgInfo -> SDoc

data ArgSpec Source #

Constructors

ValArg 

Fields

TyArg 

Fields

CastBy OutCoercion 

Instances

Instances details
Outputable ArgSpec Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Utils

Methods

ppr :: ArgSpec -> SDoc

mkArgInfo :: SimplEnv -> Id -> [CoreRule] -> Int -> SimplCont -> ArgInfo Source #

addValArgTo :: ArgInfo -> OutExpr -> OutType -> ArgInfo Source #

addCastTo :: ArgInfo -> OutCoercion -> ArgInfo Source #

addTyArgTo :: ArgInfo -> OutType -> OutType -> ArgInfo Source #

argInfoExpr :: OutId -> [ArgSpec] -> OutExpr Source #

argInfoAppArgs :: [ArgSpec] -> [OutExpr] Source #

abstractFloats :: UnfoldingOpts -> TopLevelFlag -> [OutTyVar] -> SimplFloats -> OutExpr -> SimplM ([OutBind], OutExpr) Source #