ghc-7.2.1: The GHC API

Vectorise.Monad.Global

Contents

Synopsis

Documentation

readGEnv :: (GlobalEnv -> a) -> VM aSource

Project something from the global environment.

setGEnv :: GlobalEnv -> VM ()Source

Set the value of the global environment.

updGEnv :: (GlobalEnv -> GlobalEnv) -> VM ()Source

Update the global environment using the provided function.

Vars

defGlobalVar :: Var -> Var -> VM ()Source

Add a mapping between a global var and its vectorised version to the state.

Vectorisation declarations

lookupVectDecl :: Var -> VM (Maybe (Type, CoreExpr))Source

Check whether a variable has a (non-scalar) vectorisation declaration.

noVectDecl :: Var -> VM BoolSource

Check whether a variable has a NOVECTORISE declaration.

Scalars

globalScalars :: VM VarSetSource

Get the set of global scalar variables.

isGlobalScalar :: Var -> VM BoolSource

Check whether a given variable is in the set of global scalar variables.

TyCons

lookupTyCon :: TyCon -> VM (Maybe TyCon)Source

Lookup the vectorised version of a TyCon from the global environment.

lookupBoxedTyCon :: TyCon -> VM (Maybe TyCon)Source

Lookup the vectorised version of a boxed TyCon from the global environment.

defTyCon :: TyCon -> TyCon -> VM ()Source

Add a mapping between plain and vectorised TyCons to the global environment.

Datacons

lookupDataCon :: DataCon -> VM (Maybe DataCon)Source

Lookup the vectorised version of a DataCon from the global environment.

defDataCon :: DataCon -> DataCon -> VM ()Source

Add the mapping between plain and vectorised DataCons to the global environment.

PA Dictionaries

lookupTyConPA :: TyCon -> VM (Maybe Var)Source

Lookup a PA TyCon from the global environment.

defTyConPA :: TyCon -> Var -> VM ()Source

Add a mapping between a PA TyCon and is vectorised version to the global environment.

defTyConPAs :: [(TyCon, Var)] -> VM ()Source

Add several mapping between PA TyCons and their vectorised versions to the global environment.

PR Dictionaries