Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data SimplM result
- initSmpl :: Logger -> DynFlags -> IO RuleBase -> RuleEnv -> (FamInstEnv, FamInstEnv) -> Int -> SimplM a -> IO (a, SimplCount)
- traceSmpl :: String -> SDoc -> SimplM ()
- getSimplRules :: SimplM RuleEnv
- getFamEnvs :: SimplM (FamInstEnv, FamInstEnv)
- getOptCoercionOpts :: SimplM OptCoercionOpts
- class Monad m => MonadUnique (m :: Type -> Type) where
- getUniqueSupplyM :: m UniqSupply
- getUniqueM :: m Unique
- getUniquesM :: m [Unique]
- newId :: FastString -> Mult -> Type -> SimplM Id
- newJoinId :: [Var] -> Type -> SimplM Id
- data SimplCount
- tick :: Tick -> SimplM ()
- freeTick :: Tick -> SimplM ()
- checkedTick :: Tick -> SimplM ()
- getSimplCount :: SimplM SimplCount
- zeroSimplCount :: DynFlags -> SimplCount
- pprSimplCount :: SimplCount -> SDoc
- plusSimplCount :: SimplCount -> SimplCount -> SimplCount
- isZeroSimplCount :: SimplCount -> Bool
Documentation
Instances
MonadIO SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad | |
Applicative SimplM Source # | |
Functor SimplM Source # | |
Monad SimplM Source # | |
HasDynFlags SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad | |
MonadUnique SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad getUniqueSupplyM :: SimplM UniqSupply # getUniqueM :: SimplM Unique # getUniquesM :: SimplM [Unique] # | |
HasLogger SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad |
initSmpl :: Logger -> DynFlags -> IO RuleBase -> RuleEnv -> (FamInstEnv, FamInstEnv) -> Int -> SimplM a -> IO (a, SimplCount) Source #
getFamEnvs :: SimplM (FamInstEnv, FamInstEnv) Source #
class Monad m => MonadUnique (m :: Type -> Type) where #
A monad for generating unique identifiers
getUniqueSupplyM :: m UniqSupply #
Get a new UniqueSupply
getUniqueM :: m Unique #
Get a new unique identifier
getUniquesM :: m [Unique] #
Get an infinite list of new unique identifiers
Instances
MonadUnique NatM Source # | |
Defined in GHC.CmmToAsm.Monad | |
MonadUnique LlvmM Source # | |
Defined in GHC.CmmToLlvm.Base | |
MonadUnique SimplM Source # | |
Defined in GHC.Core.Opt.Simplify.Monad getUniqueSupplyM :: SimplM UniqSupply # getUniqueM :: SimplM Unique # getUniquesM :: SimplM [Unique] # | |
MonadUnique LiftM Source # | |
Defined in GHC.Stg.Lift.Monad | |
MonadUnique CmmParse Source # | |
Defined in GHC.StgToCmm.ExtCode | |
MonadUnique FCode Source # | |
Defined in GHC.StgToCmm.Monad | |
MonadUnique TcS Source # | |
Defined in GHC.Tc.Solver.Monad | |
MonadUnique CoreM | |
Defined in GHC.Core.Opt.Monad | |
MonadUnique UniqSM | |
Defined in GHC.Types.Unique.Supply getUniqueSupplyM :: UniqSM UniqSupply # getUniqueM :: UniqSM Unique # getUniquesM :: UniqSM [Unique] # | |
MonadUnique (IOEnv (Env gbl lcl)) Source # | |
Defined in GHC.Tc.Utils.Monad getUniqueSupplyM :: IOEnv (Env gbl lcl) UniqSupply # getUniqueM :: IOEnv (Env gbl lcl) Unique # getUniquesM :: IOEnv (Env gbl lcl) [Unique] # |
newJoinId :: [Var] -> Type -> SimplM Id Source #
Make a join id with given type and arity but without call-by-value annotations.
data SimplCount #
checkedTick :: Tick -> SimplM () Source #
zeroSimplCount :: DynFlags -> SimplCount #
pprSimplCount :: SimplCount -> SDoc #
plusSimplCount :: SimplCount -> SimplCount -> SimplCount #
isZeroSimplCount :: SimplCount -> Bool #