X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectMonad.hs;h=98701f0b449f686c07bdea09f1f44f40411dccca;hb=fb6d198f498d4e325a540f28aaa6e1d1530839c3;hp=d0b05ac298ecd0c50445a5d7ca2901554491ceb9;hpb=703ca1542c8e0983cc9d8eebce6e9f3dd3fd71e2;p=ghc-hetmet.git diff --git a/compiler/vectorise/VectMonad.hs b/compiler/vectorise/VectMonad.hs index d0b05ac..98701f0 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, selTags, 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