| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
GHC.Core.Opt.Simplify.Utils
Documentation
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 #
getUnfoldingInRuleMatch :: SimplEnv -> InScopeEnv Source #
simplEnvForGHCi :: DynFlags -> SimplEnv Source #
updModeForStableUnfoldings :: Activation -> SimplMode -> SimplMode Source #
updModeForRules :: SimplMode -> SimplMode Source #
Constructors
| Stop OutType CallCtxt | |
| CastIt OutCoercion SimplCont | |
| ApplyToVal | |
| ApplyToTy | |
Fields
| |
| Select | |
| StrictBind | |
| StrictArg | |
| TickIt (Tickish Id) SimplCont | |
Constructors
| NoDup | |
| Simplified | |
| OkToDup |
isSimplified :: DupFlag -> Bool Source #
contIsStop :: SimplCont -> Bool Source #
contIsDupable :: SimplCont -> Bool Source #
contResultType :: SimplCont -> OutType Source #
contHoleType :: SimplCont -> OutType Source #
contHoleScaling :: SimplCont -> Mult Source #
contIsTrivial :: SimplCont -> Bool Source #
mkBoringStop :: OutType -> SimplCont Source #
mkLazyArgStop :: OutType -> CallCtxt -> SimplCont Source #
contIsRhsOrArg :: SimplCont -> Bool Source #
interestingCallContext :: SimplEnv -> SimplCont -> CallCtxt Source #
Constructors
| ArgInfo | |
Constructors
| ValArg | |
Fields
| |
| TyArg | |
Fields
| |
| CastBy OutCoercion | |
addValArgTo :: ArgInfo -> OutExpr -> OutType -> ArgInfo Source #
addTyArgTo :: ArgInfo -> OutType -> OutType -> ArgInfo Source #
argInfoExpr :: OutId -> [ArgSpec] -> OutExpr Source #
argInfoAppArgs :: [ArgSpec] -> [OutExpr] Source #
isStrictArgInfo :: ArgInfo -> Bool Source #
lazyArgContext :: ArgInfo -> CallCtxt Source #
abstractFloats :: DynFlags -> TopLevelFlag -> [OutTyVar] -> SimplFloats -> OutExpr -> SimplM ([OutBind], OutExpr) Source #
isExitJoinId :: Var -> Bool Source #