X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectorise%2FUtils.hs;h=c7020ea1aecc43b0e70f5909f28dd8015a65c85e;hb=224ef3094189bc9a33f23285b5dccbffdd8d7de0;hp=8f1d7dbd4fd43bb63edc4ea6484f3b31a511ef17;hpb=12a9114180eaf776c987026eac87adf5f84918ad;p=ghc-hetmet.git diff --git a/compiler/vectorise/Vectorise/Utils.hs b/compiler/vectorise/Vectorise/Utils.hs index 8f1d7db..c7020ea 100644 --- a/compiler/vectorise/Vectorise/Utils.hs +++ b/compiler/vectorise/Vectorise/Utils.hs @@ -4,7 +4,6 @@ module Vectorise.Utils ( module Vectorise.Utils.Closure, module Vectorise.Utils.Hoisting, module Vectorise.Utils.PADict, - module Vectorise.Utils.PRDict, module Vectorise.Utils.Poly, -- * Annotated Exprs @@ -28,14 +27,12 @@ import Vectorise.Utils.Base import Vectorise.Utils.Closure import Vectorise.Utils.Hoisting import Vectorise.Utils.PADict -import Vectorise.Utils.PRDict import Vectorise.Utils.Poly import Vectorise.Monad import Vectorise.Builtins import CoreSyn import CoreUtils import Type -import Var import Control.Monad @@ -49,7 +46,7 @@ collectAnnTypeArgs expr = go expr [] collectAnnTypeBinders :: AnnExpr Var ann -> ([Var], AnnExpr Var ann) collectAnnTypeBinders expr = go [] expr where - go bs (_, AnnLam b e) | isTyCoVar b = go (b:bs) e + go bs (_, AnnLam b e) | isTyVar b = go (b:bs) e go bs e = (reverse bs, e) collectAnnValBinders :: AnnExpr Var ann -> ([Var], AnnExpr Var ann) @@ -146,8 +143,8 @@ zipScalars arg_tys res_ty scalarClosure :: [Type] -> Type -> CoreExpr -> CoreExpr -> VM CoreExpr scalarClosure arg_tys res_ty scalar_fun array_fun = do - ctr <- builtin (closureCtrFun $ length arg_tys) - Just pas <- liftM sequence $ mapM paDictOfType (init arg_tys) + ctr <- builtin (closureCtrFun $ length arg_tys) + pas <- mapM paDictOfType (init arg_tys) return $ Var ctr `mkTyApps` (arg_tys ++ [res_ty]) `mkApps` (pas ++ [scalar_fun, array_fun])