X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectBuiltIn.hs;h=2fc9bbeac6b40b5fc0bfc06a583ee9d35eb52938;hb=f7b0bddc293f35c0a1d86b1e399b418221c9020c;hp=efc55da751d9fc9e535022fceb8d40c35724b379;hpb=89cf21d79ef8101e424626ad9023fd97e33af43e;p=ghc-hetmet.git diff --git a/compiler/vectorise/VectBuiltIn.hs b/compiler/vectorise/VectBuiltIn.hs index efc55da..2fc9bbe 100644 --- a/compiler/vectorise/VectBuiltIn.hs +++ b/compiler/vectorise/VectBuiltIn.hs @@ -33,7 +33,9 @@ import Type ( Type ) import TysPrim import TysWiredIn ( unitTyCon, tupleTyCon, intTyCon, intTyConName, - boolTyCon, boolTyConName, trueDataCon, falseDataCon ) + boolTyCon, boolTyConName, trueDataCon, falseDataCon, + parrTyCon, parrTyConName ) +import PrelNames ( gHC_PARR ) import Module import BasicTypes ( Boxity(..) ) @@ -63,7 +65,8 @@ nDP_PRIM = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Prim") nDP_INSTANCES = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Instances") nDP_COMBINATORS = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Combinators") -nDP_PRELUDE_PARR = mkNDPModule FSLIT("Data.Array.Parallel.Prelude.PArr") +nDP_PRELUDE_PARR = mkNDPModule FSLIT("Data.Array.Parallel.Prelude.Base.PArr") +nDP_PRELUDE_INT = mkNDPModule FSLIT("Data.Array.Parallel.Prelude.Base.Int") data Builtins = Builtins { parrayTyCon :: TyCon @@ -205,7 +208,15 @@ defaultDataConWorkers = [trueDataCon, falseDataCon] preludeVars :: [(Module, FastString, Module, FastString)] preludeVars = [ - mk nDP_PRELUDE_PARR FSLIT("mapP") nDP_COMBINATORS FSLIT("mapPA") + mk gHC_PARR FSLIT("mapP") nDP_COMBINATORS FSLIT("mapPA") + , mk gHC_PARR FSLIT("zipWithP") nDP_COMBINATORS FSLIT("zipWithPA") + , mk nDP_PRELUDE_INT FSLIT("plus") nDP_PRELUDE_INT FSLIT("plusV") + , mk nDP_PRELUDE_INT FSLIT("minus") nDP_PRELUDE_INT FSLIT("minusV") + , mk nDP_PRELUDE_INT FSLIT("sumP") nDP_PRELUDE_INT FSLIT("sumPA") + , mk nDP_PRELUDE_INT FSLIT("upToP") nDP_PRELUDE_INT FSLIT("upToPA") + + -- FIXME: temporary + , mk nDP_PRELUDE_PARR FSLIT("fromPArrayP") nDP_PRELUDE_PARR FSLIT("fromPArrayPA") ] where mk = (,,,) @@ -213,9 +224,13 @@ preludeVars initBuiltinTyCons :: Builtins -> DsM [(Name, TyCon)] initBuiltinTyCons bi = do - parr <- externalTyCon nDP_PRELUDE_PARR FSLIT("PArr") + -- parr <- externalTyCon nDP_PRELUDE_PARR FSLIT("PArr") return $ (tyConName funTyCon, closureTyCon bi) - : (tyConName parr, parrayTyCon bi) + : (parrTyConName, parrayTyCon bi) + + -- FIXME: temporary + : (tyConName $ parrayTyCon bi, parrayTyCon bi) + : [(tyConName tc, tc) | tc <- defaultTyCons] defaultTyCons :: [TyCon]