return (Lit lit, lexpr)
vectPolyExpr :: CoreExprWithFVs -> VM VExpr
+vectPolyExpr (_, AnnNote note expr)
+ = liftM (vNote note) $ vectPolyExpr expr
vectPolyExpr expr
= polyAbstract tvs $ \abstract ->
do
$ varSetElems fvs
(vexpr, lexpr) <- p
return (vexpr, Let (NonRec sel_var sel_expr)
+ . mkLets (concat bnds)
$ Case len lc_var res_ty [(DEFAULT, [], lexpr)])
packFreeVar :: CoreExpr -> CoreExpr -> Var -> VM [CoreBind]