New syntax for GADT-style record declarations, and associated refactoring
[ghc-hetmet.git] / compiler / vectorise / VectCore.hs
index de83279..6be1542 100644 (file)
@@ -8,16 +8,17 @@ module VectCore (
 
   vVar, vType, vNote, vLet,
   vLams, vLamsWithoutLC, vVarApps,
-  vCaseDEFAULT, vCaseProd
+  vCaseDEFAULT, vCaseProd, vInlineMe
 ) where
 
 #include "HsVersions.h"
 
 import CoreSyn
+import CoreUtils      ( mkInlineMe )
+import MkCore        ( mkWildCase )
 import CoreUtils      ( exprType )
 import DataCon        ( DataCon )
 import Type           ( Type )
-import Id             ( mkWildId )
 import Var
 
 type Vect a = (a,a)
@@ -84,9 +85,13 @@ vCaseProd :: VExpr -> Type -> Type
           -> DataCon -> DataCon -> [Var] -> [VVar] -> VExpr -> VExpr
 vCaseProd (vscrut, lscrut) vty lty vdc ldc sh_bndrs bndrs
           (vbody,lbody)
-  = (Case vscrut (mkWildId $ exprType vscrut) vty
+  = (mkWildCase vscrut (exprType vscrut) vty
           [(DataAlt vdc, vbndrs, vbody)],
-     Case lscrut (mkWildId $ exprType lscrut) lty
+     mkWildCase lscrut (exprType lscrut) lty
           [(DataAlt ldc, sh_bndrs ++ lbndrs, lbody)])
   where
     (vbndrs, lbndrs) = unzip bndrs
+
+vInlineMe :: VExpr -> VExpr
+vInlineMe (vexpr, lexpr) = (mkInlineMe vexpr, mkInlineMe lexpr)
+