Move code
[ghc-hetmet.git] / compiler / vectorise / VectUtils.hs
index 7e331f3..c7336ef 100644 (file)
@@ -5,7 +5,7 @@ module VectUtils (
   splitClosureTy,
 
   TyConRepr(..), mkTyConRepr,
-  mkToPRepr, mkToArrPRepr, mkFromPRepr, mkFromArrPRepr,
+  mkToArrPRepr, mkFromPRepr, mkFromArrPRepr,
   mkPADictType, mkPArrayType, mkPReprType,
 
   parrayCoerce, parrayReprTyCon, parrayReprDataCon, mkVScrut,
@@ -165,54 +165,6 @@ mkTyConRepr vect_tc
     mk_tc_app_maybe Nothing   [ty] = ty
     mk_tc_app_maybe (Just tc) tys  = mkTyConApp tc tys
 
-{-
-mkPRepr :: [[Type]] -> VM Type
-mkPRepr tys
-  = do
-      embed_tc <- builtin embedTyCon
-      sum_tcs  <- builtins sumTyCon
-      prod_tcs <- builtins prodTyCon
-
-      let mk_sum []   = unitTy
-          mk_sum [ty] = ty
-          mk_sum tys  = mkTyConApp (sum_tcs $ length tys) tys
-
-          mk_prod []   = unitTy
-          mk_prod [ty] = ty
-          mk_prod tys  = mkTyConApp (prod_tcs $ length tys) tys
-
-          mk_embed ty = mkTyConApp embed_tc [ty]
-
-      return . mk_sum
-             . map (mk_prod . map mk_embed)
-             $ tys
--}
-
-mkToPRepr :: TyConRepr -> [[CoreExpr]] -> [CoreExpr]
-mkToPRepr (TyConRepr {
-             repr_tys         = repr_tys
-           , repr_prod_tycons = prod_tycons
-           , repr_prod_tys    = prod_tys
-           , repr_sum_tycon   = repr_sum_tycon
-           })
-  = mk_sum . zipWith3 mk_prod prod_tycons repr_tys
-  where
-    Just sum_tycon = repr_sum_tycon
-
-    mk_sum []     = [Var unitDataConId]
-    mk_sum [expr] = [expr]
-    mk_sum exprs  = zipWith (mk_alt prod_tys) (tyConDataCons sum_tycon) exprs
-
-    mk_alt tys dc expr = mk_con_app dc tys [expr]
-
-    mk_prod _         _   []     = Var unitDataConId
-    mk_prod _         _   [expr] = expr
-    mk_prod (Just tc) tys exprs  = mk_con_app dc tys exprs
-      where
-        [dc] = tyConDataCons tc
-
-    mk_con_app dc tys exprs = mkConApp dc (map Type tys ++ exprs)
-
 mkToArrPRepr :: CoreExpr -> CoreExpr -> [[CoreExpr]] -> VM CoreExpr
 mkToArrPRepr len sel ess
   = do