projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't use DPH backend directly in vectoriser
[ghc-hetmet.git]
/
compiler
/
vectorise
/
VectBuiltIn.hs
diff --git
a/compiler/vectorise/VectBuiltIn.hs
b/compiler/vectorise/VectBuiltIn.hs
index
dc56944
..
dc04e70
100644
(file)
--- a/
compiler/vectorise/VectBuiltIn.hs
+++ b/
compiler/vectorise/VectBuiltIn.hs
@@
-1,5
+1,5
@@
module VectBuiltIn (
module VectBuiltIn (
- Builtins(..), sumTyCon, prodTyCon, uarrTy, intPrimArrayTy,
+ Builtins(..), sumTyCon, prodTyCon,
combinePAVar,
initBuiltins, initBuiltinVars, initBuiltinTyCons, initBuiltinDataCons,
initBuiltinPAs, initBuiltinPRs,
combinePAVar,
initBuiltins, initBuiltinVars, initBuiltinTyCons, initBuiltinDataCons,
initBuiltinPAs, initBuiltinPRs,
@@
-25,7
+25,7
@@
import Type ( Type, mkTyConApp )
import TysPrim
import TysWiredIn ( unitTyCon, unitDataCon,
tupleTyCon, tupleCon,
import TysPrim
import TysWiredIn ( unitTyCon, unitDataCon,
tupleTyCon, tupleCon,
- intTyCon, intTyConName, intTy,
+ intTyCon, intTyConName,
doubleTyCon, doubleTyConName,
boolTyCon, boolTyConName, trueDataCon, falseDataCon,
parrTyConName )
doubleTyCon, doubleTyConName,
boolTyCon, boolTyConName, trueDataCon, falseDataCon,
parrTyConName )
@@
-51,8
+51,7
@@
mAX_NDP_COMBINE = 2
mkNDPModule :: FastString -> Module
mkNDPModule m = mkModule ndpPackageId (mkModuleNameFS m)
mkNDPModule :: FastString -> Module
mkNDPModule m = mkModule ndpPackageId (mkModuleNameFS m)
-nDP_UARR,
- nDP_PARRAY,
+nDP_PARRAY,
nDP_REPR,
nDP_CLOSURE,
nDP_UNBOXED,
nDP_REPR,
nDP_CLOSURE,
nDP_UNBOXED,
@@
-64,7
+63,6
@@
nDP_UARR,
nDP_PRELUDE_BOOL,
nDP_PRELUDE_TUPLE :: Module
nDP_PRELUDE_BOOL,
nDP_PRELUDE_TUPLE :: Module
-nDP_UARR = mkNDPModule (fsLit "Data.Array.Parallel.Unlifted.Flat.UArr")
nDP_PARRAY = mkNDPModule (fsLit "Data.Array.Parallel.Lifted.PArray")
nDP_REPR = mkNDPModule (fsLit "Data.Array.Parallel.Lifted.Repr")
nDP_CLOSURE = mkNDPModule (fsLit "Data.Array.Parallel.Lifted.Closure")
nDP_PARRAY = mkNDPModule (fsLit "Data.Array.Parallel.Lifted.PArray")
nDP_REPR = mkNDPModule (fsLit "Data.Array.Parallel.Lifted.Repr")
nDP_CLOSURE = mkNDPModule (fsLit "Data.Array.Parallel.Lifted.Closure")
@@
-85,7
+83,7
@@
data Builtins = Builtins {
, preprTyCon :: TyCon
, prTyCon :: TyCon
, prDataCon :: DataCon
, preprTyCon :: TyCon
, prTyCon :: TyCon
, prDataCon :: DataCon
- , uarrTyCon :: TyCon
+ , intPrimArrayTy :: Type
, voidTyCon :: TyCon
, wrapTyCon :: TyCon
, enumerationTyCon :: TyCon
, voidTyCon :: TyCon
, wrapTyCon :: TyCon
, enumerationTyCon :: TyCon
@@
-109,12
+107,6
@@
data Builtins = Builtins {
, liftingContext :: Var
}
, liftingContext :: Var
}
-uarrTy :: Type -> Builtins -> Type
-uarrTy ty bi = mkTyConApp (uarrTyCon bi) [ty]
-
-intPrimArrayTy :: Builtins -> Type
-intPrimArrayTy = uarrTy intTy
-
sumTyCon :: Int -> Builtins -> TyCon
sumTyCon n bi
| n >= 2 && n <= mAX_NDP_SUM = sumTyCons bi ! n
sumTyCon :: Int -> Builtins -> TyCon
sumTyCon n bi
| n >= 2 && n <= mAX_NDP_SUM = sumTyCons bi ! n
@@
-140,7
+132,7
@@
initBuiltins
preprTyCon <- externalTyCon nDP_PARRAY (fsLit "PRepr")
prTyCon <- externalTyCon nDP_PARRAY (fsLit "PR")
let [prDataCon] = tyConDataCons prTyCon
preprTyCon <- externalTyCon nDP_PARRAY (fsLit "PRepr")
prTyCon <- externalTyCon nDP_PARRAY (fsLit "PR")
let [prDataCon] = tyConDataCons prTyCon
- uarrTyCon <- externalTyCon nDP_UARR (fsLit "UArr")
+ intPrimArrayTy <- externalType nDP_UNBOXED (fsLit "PArray_Int#")
closureTyCon <- externalTyCon nDP_CLOSURE (fsLit ":->")
voidTyCon <- externalTyCon nDP_REPR (fsLit "Void")
closureTyCon <- externalTyCon nDP_CLOSURE (fsLit ":->")
voidTyCon <- externalTyCon nDP_REPR (fsLit "Void")
@@
-181,7
+173,7
@@
initBuiltins
, preprTyCon = preprTyCon
, prTyCon = prTyCon
, prDataCon = prDataCon
, preprTyCon = preprTyCon
, prTyCon = prTyCon
, prDataCon = prDataCon
- , uarrTyCon = uarrTyCon
+ , intPrimArrayTy = intPrimArrayTy
, voidTyCon = voidTyCon
, wrapTyCon = wrapTyCon
, enumerationTyCon = enumerationTyCon
, voidTyCon = voidTyCon
, wrapTyCon = wrapTyCon
, enumerationTyCon = enumerationTyCon
@@
-388,6
+380,12
@@
externalTyCon :: Module -> FastString -> DsM TyCon
externalTyCon mod fs
= dsLookupTyCon =<< lookupOrig mod (mkOccNameFS tcName fs)
externalTyCon mod fs
= dsLookupTyCon =<< lookupOrig mod (mkOccNameFS tcName fs)
+externalType :: Module -> FastString -> DsM Type
+externalType mod fs
+ = do
+ tycon <- externalTyCon mod fs
+ return $ mkTyConApp tycon []
+
unitTyConName :: Name
unitTyConName = tyConName unitTyCon
unitTyConName :: Name
unitTyConName = tyConName unitTyCon