Add UArr built-in
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Fri, 24 Aug 2007 05:12:13 +0000 (05:12 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Fri, 24 Aug 2007 05:12:13 +0000 (05:12 +0000)
compiler/prelude/PrelNames.lhs
compiler/vectorise/VectBuiltIn.hs

index 49ff539..b630233 100644 (file)
@@ -218,6 +218,7 @@ genericTyConNames = [crossTyConName, plusTyConName, genUnitTyConName]
 
 ndpNames :: [Name]
 ndpNames = [ parrayTyConName, paTyConName, preprTyConName, prTyConName
+           , uarrTyConName
            , mkPRName
            , closureTyConName
            , mkClosureName, applyClosureName
@@ -280,6 +281,7 @@ nDP_REPR        = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Repr")
 nDP_UTILS       = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Utils")
 nDP_CLOSURE     = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Closure")
 nDP_INSTANCES   = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Instances")
+nDP_UARR        = mkNDPModule FSLIT("Data.Array.Parallel.Unlifted.Flat.UArr")
 
 mAIN           = mkMainModule_ mAIN_NAME
 rOOT_MAIN      = mkMainModule FSLIT(":Main") -- Root module for initialisation 
@@ -697,7 +699,8 @@ checkDotnetResName  = varQual  dOTNET FSLIT("checkResult")     checkDotnetResNam
 parrayTyConName     = tcQual   nDP_PARRAY FSLIT("PArray") parrayTyConKey
 paTyConName         = tcQual   nDP_PARRAY FSLIT("PA")     paTyConKey
 preprTyConName      = tcQual   nDP_PARRAY FSLIT("PRepr")  preprTyConKey
-prTyConName         = clsQual  nDP_PARRAY FSLIT("PR")     prTyConKey
+prTyConName         = tcQual   nDP_PARRAY FSLIT("PR")     prTyConKey
+uarrTyConName       = tcQual   nDP_UARR   FSLIT("UArr")   uarrTyConKey
 mkPRName            = varQual  nDP_PARRAY FSLIT("mkPR")   mkPRIdKey
 lengthPAName        = varQual  nDP_PARRAY FSLIT("lengthPA")    lengthPAIdKey
 replicatePAName     = varQual  nDP_PARRAY FSLIT("replicatePA") replicatePAIdKey
@@ -894,6 +897,7 @@ closureTyConKey                         = mkPreludeTyConUnique 136
 paTyConKey                              = mkPreludeTyConUnique 137
 preprTyConKey                           = mkPreludeTyConUnique 138
 prTyConKey                              = mkPreludeTyConUnique 139
+uarrTyConKey                            = mkPreludeTyConUnique 140
 
 
 ---------------- Template Haskell -------------------
index 0b8c047..2d20b83 100644 (file)
@@ -41,6 +41,7 @@ data Builtins = Builtins {
                 , preprTyCon       :: TyCon
                 , prTyCon          :: TyCon
                 , prDataCon        :: DataCon
+                , uarrTyCon        :: TyCon
                 , sumTyCons        :: Array Int TyCon
                 , closureTyCon     :: TyCon
                 , mkPRVar          :: Var
@@ -76,6 +77,7 @@ initBuiltins
       let [paDataCon] = tyConDataCons paTyCon
       preprTyCon   <- dsLookupTyCon preprTyConName
       prTyCon      <- dsLookupTyCon prTyConName
+      uarrTyCon    <- dsLookupTyCon uarrTyConName
       let [prDataCon] = tyConDataCons prTyCon
       closureTyCon <- dsLookupTyCon closureTyConName
 
@@ -106,6 +108,7 @@ initBuiltins
                , preprTyCon       = preprTyCon
                , prTyCon          = prTyCon
                , prDataCon        = prDataCon
+               , uarrTyCon        = uarrTyCon
                , sumTyCons        = sumTyCons
                , closureTyCon     = closureTyCon
                , mkPRVar          = mkPRVar