Rewrite vectorisation of product DataCon workers
[ghc-hetmet.git] / compiler / vectorise / VectBuiltIn.hs
index 0afef5b..3eb3903 100644 (file)
@@ -41,10 +41,10 @@ data Builtins = Builtins {
                 , preprTyCon       :: TyCon
                 , prTyCon          :: TyCon
                 , prDataCon        :: DataCon
-                , embedTyCon       :: TyCon
-                , embedDataCon     :: DataCon
+                , uarrTyCon        :: TyCon
                 , sumTyCons        :: Array Int TyCon
                 , closureTyCon     :: TyCon
+                , mkPRVar          :: Var
                 , mkClosureVar     :: Var
                 , applyClosureVar  :: Var
                 , mkClosurePVar    :: Var
@@ -54,7 +54,6 @@ data Builtins = Builtins {
                 , emptyPAVar       :: Var
                 -- , packPAVar        :: Var
                 -- , combinePAVar     :: Var
-                , intEqPAVar       :: Var
                 , liftingContext   :: Var
                 }
 
@@ -68,7 +67,6 @@ prodTyCon n bi
   | n >= 2 && n <= mAX_NDP_PROD = tupleTyCon Boxed n
   | otherwise = pprPanic "prodTyCon" (ppr n)
 
-
 initBuiltins :: DsM Builtins
 initBuiltins
   = do
@@ -77,9 +75,8 @@ initBuiltins
       let [paDataCon] = tyConDataCons paTyCon
       preprTyCon   <- dsLookupTyCon preprTyConName
       prTyCon      <- dsLookupTyCon prTyConName
+      uarrTyCon    <- dsLookupTyCon uarrTyConName
       let [prDataCon] = tyConDataCons prTyCon
-      embedTyCon   <- dsLookupTyCon embedTyConName
-      let [embedDataCon] = tyConDataCons embedTyCon
       closureTyCon <- dsLookupTyCon closureTyConName
 
       sum_tcs <- mapM (lookupExternalTyCon nDP_REPR)
@@ -87,6 +84,7 @@ initBuiltins
 
       let sumTyCons = listArray (2, mAX_NDP_SUM) sum_tcs
 
+      mkPRVar          <- dsLookupGlobalId mkPRName
       mkClosureVar     <- dsLookupGlobalId mkClosureName
       applyClosureVar  <- dsLookupGlobalId applyClosureName
       mkClosurePVar    <- dsLookupGlobalId mkClosurePName
@@ -96,7 +94,6 @@ initBuiltins
       emptyPAVar       <- dsLookupGlobalId emptyPAName
       -- packPAVar        <- dsLookupGlobalId packPAName
       -- combinePAVar     <- dsLookupGlobalId combinePAName
-      intEqPAVar       <- dsLookupGlobalId intEqPAName
 
       liftingContext <- liftM (\u -> mkSysLocal FSLIT("lc") u intPrimTy)
                               newUnique
@@ -108,10 +105,10 @@ initBuiltins
                , preprTyCon       = preprTyCon
                , prTyCon          = prTyCon
                , prDataCon        = prDataCon
-               , embedTyCon       = embedTyCon
-               , embedDataCon     = embedDataCon
+               , uarrTyCon        = uarrTyCon
                , sumTyCons        = sumTyCons
                , closureTyCon     = closureTyCon
+               , mkPRVar          = mkPRVar
                , mkClosureVar     = mkClosureVar
                , applyClosureVar  = applyClosureVar
                , mkClosurePVar    = mkClosurePVar
@@ -121,7 +118,6 @@ initBuiltins
                , emptyPAVar       = emptyPAVar
                -- , packPAVar        = packPAVar
                -- , combinePAVar     = combinePAVar
-               , intEqPAVar       = intEqPAVar
                , liftingContext   = liftingContext
                }
 
@@ -168,7 +164,6 @@ builtinPRs :: Builtins -> [(Name, Module, FastString)]
 builtinPRs bi =
   [
     mk (tyConName unitTyCon) nDP_REPR      FSLIT("dPR_Unit")
-  , mk embedTyConName        nDP_REPR      FSLIT("dPR_Embed")
   , mk closureTyConName      nDP_CLOSURE   FSLIT("dPR_Clo")
 
     -- temporary