Separate length from data in DPH arrays
[ghc-hetmet.git] / compiler / vectorise / VectMonad.hs
index d0b05ac..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(..),
@@ -374,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")