Fix Trac #3406 (albeit not very satisfactorily): scoped type variables
[ghc-hetmet.git] / compiler / vectorise / VectMonad.hs
index 8fdfcdb..b731576 100644 (file)
@@ -7,10 +7,11 @@ module VectMonad (
   initV, cantVectorise, maybeCantVectorise, maybeCantVectoriseM,
   liftDs,
   cloneName, cloneId, cloneVar,
-  newExportedVar, newLocalVar, newDummyVar, newTyVar,
+  newExportedVar, newLocalVar, newLocalVars, newDummyVar, newTyVar,
   
-  Builtins(..), sumTyCon, prodTyCon,
-  combinePAVar, scalarZip, closureCtrFun,
+  Builtins(..), sumTyCon, prodTyCon, prodDataCon,
+  selTy, selReplicate, selPick, selElements,
+  combinePDVar, scalarZip, closureCtrFun,
   builtin, builtins,
 
   GlobalEnv(..),
@@ -51,7 +52,6 @@ import VarEnv
 import Id
 import Name
 import NameEnv
-import IOEnv         ( liftIO )
 
 import DsMonad
 
@@ -375,6 +375,9 @@ newLocalVar fs ty
       u <- liftDs newUnique
       return $ mkSysLocal fs u ty
 
+newLocalVars :: FastString -> [Type] -> VM [Var]
+newLocalVars fs = mapM (newLocalVar fs)
+
 newDummyVar :: Type -> VM Var
 newDummyVar = newLocalVar (fsLit "vv")