| Safe Haskell | Ignore |
|---|---|
| Language | GHC2021 |
GHC.Core.Opt.Simplify.Utils
Documentation
tryEtaExpandRhs :: SimplEnv -> BindContext -> OutId -> OutExpr -> SimplM (ArityType, OutExpr) #
wantEtaExpansion :: CoreExpr -> Bool #
preInlineUnconditionally :: SimplEnv -> TopLevelFlag -> InId -> InExpr -> StaticEnv -> Maybe SimplEnv #
postInlineUnconditionally :: SimplEnv -> BindContext -> OutId -> OccInfo -> OutExpr -> Bool #
activeUnfolding :: SimplMode -> Id -> Bool #
activeRule :: SimplMode -> Activation -> Bool #
updModeForRules :: SimplMode -> SimplMode #
data BindContext #
Constructors
| Stop | Stop[e] = e |
Fields
| |
| CastIt OutCoercion SimplCont | |
| ApplyToVal | |
| ApplyToTy | |
| Select | |
| StrictBind | |
| StrictArg | |
| TickIt CoreTickish SimplCont | |
Instances
| Outputable SimplCont # | |
Defined in GHC.Core.Opt.Simplify.Utils | |
Constructors
| NoDup | |
| Simplified | |
| OkToDup |
Instances
| Outputable DupFlag # | |
Defined in GHC.Core.Opt.Simplify.Utils | |
isSimplified :: DupFlag -> Bool #
contIsStop :: SimplCont -> Bool #
contIsDupable :: SimplCont -> Bool #
contResultType :: SimplCont -> OutType #
contHoleType :: SimplCont -> OutType #
contHoleScaling :: SimplCont -> Mult #
contIsTrivial :: SimplCont -> Bool #
mkBoringStop :: OutType -> SimplCont #
mkLazyArgStop :: OutType -> ArgInfo -> SimplCont #
interestingCallContext :: SimplEnv -> SimplCont -> CallCtxt #
Constructors
| ArgInfo | |
Instances
| Outputable ArgInfo # | |
Defined in GHC.Core.Opt.Simplify.Utils | |
Constructors
| ValArg | |
| TyArg | |
Fields
| |
| CastBy OutCoercion | |
Instances
| Outputable ArgSpec # | |
Defined in GHC.Core.Opt.Simplify.Utils | |
data RewriteCall #
Constructors
| TryRules FullArgCount [CoreRule] | |
| TryInlining | |
| TryNothing |
addCastTo :: ArgInfo -> OutCoercion -> ArgInfo #
argInfoExpr :: OutId -> [ArgSpec] -> OutExpr #
argInfoAppArgs :: [ArgSpec] -> [OutExpr] #
isStrictArgInfo :: ArgInfo -> Bool #
lazyArgContext :: ArgInfo -> CallCtxt #
abstractFloats :: UnfoldingOpts -> TopLevelFlag -> [OutTyVar] -> SimplFloats -> OutExpr -> SimplM ([OutBind], OutExpr) #
isExitJoinId :: Var -> Bool #