X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectUtils.hs;h=c7336efbc58514c01999e79115a88dc308a621a7;hb=724425265ded8958a719b3a62f43006674b506c8;hp=7e331f316cd8225edeb83cab327738c0c518a1c4;hpb=675aada9c8cbe8bac3f48c40b4f95caf0fdd2871;p=ghc-hetmet.git diff --git a/compiler/vectorise/VectUtils.hs b/compiler/vectorise/VectUtils.hs index 7e331f3..c7336ef 100644 --- a/compiler/vectorise/VectUtils.hs +++ b/compiler/vectorise/VectUtils.hs @@ -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