- module Vectorise.Monad.Base
- module Vectorise.Monad.Naming
- module Vectorise.Monad.Local
- module Vectorise.Monad.Global
- module Vectorise.Monad.InstEnv
- initV :: HscEnv -> ModGuts -> VectInfo -> VM a -> IO (Maybe (VectInfo, a))
- liftBuiltinDs :: (Builtins -> DsM a) -> VM a
- builtin :: (Builtins -> a) -> VM a
- builtins :: (a -> Builtins -> b) -> VM (a -> b)
- lookupVar :: Var -> VM (Scope Var (Var, Var))
- maybeCantVectoriseVarM :: Monad m => Var -> m (Maybe Var) -> m Var
- dumpVar :: Var -> a
- addGlobalScalar :: Var -> VM ()
- lookupPrimPArray :: TyCon -> VM (Maybe TyCon)
- lookupPrimMethod :: TyCon -> String -> VM (Maybe Var)
Documentation
module Vectorise.Monad.Base
module Vectorise.Monad.Naming
module Vectorise.Monad.Local
module Vectorise.Monad.Global
module Vectorise.Monad.InstEnv
initV :: HscEnv -> ModGuts -> VectInfo -> VM a -> IO (Maybe (VectInfo, a))Source
Run a vectorisation computation.
Builtins
liftBuiltinDs :: (Builtins -> DsM a) -> VM aSource
Lift a desugaring computation using the Builtins
into the vectorisation monad.
builtins :: (a -> Builtins -> b) -> VM (a -> b)Source
Lift a function using the Builtins
into the vectorisation monad.
Variables
lookupVar :: Var -> VM (Scope Var (Var, Var))Source
Lookup the vectorised and/or lifted versions of this variable. If it's in the global environment we get the vectorised version. If it's in the local environment we get both the vectorised and lifted version.
addGlobalScalar :: Var -> VM ()Source