X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectorise%2FUtils%2FPRDict.hs;h=a5d09df1c3d4f7009ca9bbce55eeb0dbe2793de9;hb=869984cd0306c18dcd103b9ef7dd315573dc3c6d;hp=e5732323475044e33b0c1f8ab5265c1abe0676a1;hpb=907fa8af43e420e59ad1b78623f0ffe445c09e87;p=ghc-hetmet.git diff --git a/compiler/vectorise/Vectorise/Utils/PRDict.hs b/compiler/vectorise/Vectorise/Utils/PRDict.hs index e573232..a5d09df 100644 --- a/compiler/vectorise/Vectorise/Utils/PRDict.hs +++ b/compiler/vectorise/Vectorise/Utils/PRDict.hs @@ -1,32 +1,20 @@ module Vectorise.Utils.PRDict ( - prDFunOfTyCon, prDictOfType, - prDictOfTyApp, - prDFunApply, wrapPR ) where import Vectorise.Monad import Vectorise.Builtins +import Vectorise.Utils.Base import Vectorise.Utils.PADict import CoreSyn import Type import TypeRep -import TyCon -import Outputable import Control.Monad -prDFunOfTyCon :: TyCon -> VM CoreExpr -prDFunOfTyCon tycon - = liftM Var - . maybeCantVectoriseM "No PR dictionary for tycon" (ppr tycon) - $ lookupTyConPR tycon - - - prDictOfType :: Type -> VM CoreExpr prDictOfType ty = prDictOfTyApp ty_fn ty_args where @@ -50,6 +38,6 @@ prDFunApply dfun tys wrapPR :: Type -> VM CoreExpr wrapPR ty = do - Just pa_dict <- paDictOfType ty - pr_dfun <- prDFunOfTyCon =<< builtin wrapTyCon + pa_dict <- paDictOfType ty + pr_dfun <- prDFunOfTyCon =<< builtin wrapTyCon return $ mkApps pr_dfun [Type ty, pa_dict]