Vectorise DataCon workers
[ghc-hetmet.git] / compiler / vectorise / Vectorise.hs
index 312650f..bbfa562 100644 (file)
@@ -67,10 +67,11 @@ vectModule guts
           inst_env'     = extendInstEnvList (mg_inst_env guts) insts
       updGEnv (setInstEnvs inst_env' fam_inst_env')
      
-      dicts  <- mapM buildPADict pa_insts 
-      binds' <- mapM vectTopBind (mg_binds guts)
+      dicts   <- mapM buildPADict pa_insts
+      workers <- mapM vectDataConWorkers pa_insts
+      binds'  <- mapM vectTopBind (mg_binds guts)
       return $ guts { mg_types        = types'
-                    , mg_binds        = Rec (concat dicts) : binds'
+                    , mg_binds        = Rec (concat workers ++ concat dicts) : binds'
                     , mg_inst_env     = inst_env'
                     , mg_fam_inst_env = fam_inst_env'
                     , mg_insts        = mg_insts guts ++ insts