X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectorise.hs;h=0358acac4389e28625816bb12667515d4b7db439;hb=f2e0a6b983e5a3d01c3a2621eae6ec119038b56a;hp=71514e1eb4e45030b0c7de12325e4201452fe33a;hpb=d9e8e6f9538b095e933ce2280073548b179b6765;p=ghc-hetmet.git diff --git a/compiler/vectorise/Vectorise.hs b/compiler/vectorise/Vectorise.hs index 71514e1..0358aca 100644 --- a/compiler/vectorise/Vectorise.hs +++ b/compiler/vectorise/Vectorise.hs @@ -345,6 +345,18 @@ vectExpr lc (_, AnnLet (AnnRec prs) body) (vrhss, lrhss) <- mapAndUnzipM (vectExpr lc) rhss (vbody, lbody) <- vectExpr lc body return (vrhss, vbody, lrhss, lbody) +vectExpr lc (_, AnnLam bndr body) + | isTyVar bndr + = do + pa_ty <- paArgType' (TyVarTy bndr) (tyVarKind bndr) + pa_var <- newLocalVar FSLIT("dPA") pa_ty + (vbody, lbody) <- localV + $ do + extendTyVarPA bndr (Var pa_var) + -- FIXME: what about shadowing here (bndr in lc)? + vectExpr lc body + return (mkLams [bndr, pa_var] vbody, + mkLams [bndr, pa_var] lbody) -- ---------------------------------------------------------------------------- -- PA dictionaries