Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 #