X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectMonad.hs;h=a8c84acc65b442dc39b175042b03917d5e636abc;hb=a6ba9700a96d623ddac728ed7e4df4ebe32ac99a;hp=d0b05ac298ecd0c50445a5d7ca2901554491ceb9;hpb=703ca1542c8e0983cc9d8eebce6e9f3dd3fd71e2;p=ghc-hetmet.git diff --git a/compiler/vectorise/VectMonad.hs b/compiler/vectorise/VectMonad.hs index d0b05ac..a8c84ac 100644 --- a/compiler/vectorise/VectMonad.hs +++ b/compiler/vectorise/VectMonad.hs @@ -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") @@ -539,8 +543,6 @@ initV pkg hsc_env guts info p builtin_vars <- initBuiltinVars builtins builtin_tycons <- initBuiltinTyCons builtins let builtin_datacons = initBuiltinDataCons builtins - builtin_pas <- initBuiltinPAs builtins - builtin_prs <- initBuiltinPRs builtins builtin_boxed <- initBuiltinBoxedTyCons builtins builtin_scalars <- initBuiltinScalars builtins @@ -548,6 +550,9 @@ initV pkg hsc_env guts info p let famInstEnvs = (eps_fam_inst_env eps, mg_fam_inst_env guts) instEnvs = (eps_inst_env eps, mg_inst_env guts) + builtin_prs <- initBuiltinPRs builtins instEnvs + builtin_pas <- initBuiltinPAs builtins instEnvs + let genv = extendImportedVarsEnv builtin_vars . extendScalars builtin_scalars . extendTyConsEnv builtin_tycons