Add utility functions for accessing PA info during vectorisation
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Fri, 3 Aug 2007 03:02:37 +0000 (03:02 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Fri, 3 Aug 2007 03:02:37 +0000 (03:02 +0000)
compiler/vectorise/VectMonad.hs

index b31d798..571350d 100644 (file)
@@ -21,6 +21,7 @@ module VectMonad (
   lookupVar, defGlobalVar,
   lookupTyCon, defTyCon,
   lookupDataCon, defDataCon,
+  lookupTyConPA, defTyConPA,
   lookupTyVarPA, defLocalTyVar, defLocalTyVarWithPA, localTyVars,
 
   lookupInst, lookupFamInst
@@ -383,6 +384,13 @@ defDataCon :: DataCon -> DataCon -> VM ()
 defDataCon dc dc' = updGEnv $ \env ->
   env { global_datacons = extendNameEnv (global_datacons env) (dataConName dc) dc' }
 
+lookupTyConPA :: TyCon -> VM (Maybe Var)
+lookupTyConPA tc = readGEnv $ \env -> lookupNameEnv (global_pa_funs env) (tyConName tc)
+
+defTyConPA :: TyCon -> Var -> VM ()
+defTyConPA tc pa = updGEnv $ \env ->
+  env { global_pa_funs = extendNameEnv (global_pa_funs env) (tyConName tc) pa }
+
 lookupTyVarPA :: Var -> VM (Maybe CoreExpr)
 lookupTyVarPA tv = readLEnv $ \env -> lookupVarEnv (local_tyvar_pa env) tv