Improved VectInfo
[ghc-hetmet.git] / compiler / iface / LoadIface.lhs
index 00e9e7a..1c8b410 100644 (file)
@@ -19,7 +19,7 @@ module LoadIface (
 #include "HsVersions.h"
 
 import {-# SOURCE #-}  TcIface( tcIfaceDecl, tcIfaceRules, tcIfaceInst, 
-                                tcIfaceFamInst )
+                                tcIfaceFamInst, tcIfaceVectInfo )
 
 import DynFlags
 import IfaceSyn
@@ -239,6 +239,8 @@ loadInterface doc_str mod from
        ; new_eps_insts     <- mapM tcIfaceInst (mi_insts iface)
        ; new_eps_fam_insts <- mapM tcIfaceFamInst (mi_fam_insts iface)
        ; new_eps_rules     <- tcIfaceRules ignore_prags (mi_rules iface)
+        ; new_eps_vect_info <- tcIfaceVectInfo mod (mkNameEnv new_eps_decls) 
+                                               (mi_vect_info iface)
 
        ; let { final_iface = iface {   
                                mi_decls     = panic "No mi_decls in PIT",
@@ -246,11 +248,6 @@ loadInterface doc_str mod from
                                mi_fam_insts = panic "No mi_fam_insts in PIT",
                                mi_rules     = panic "No mi_rules in PIT"
                               }
-              ; new_eps_vect_info =
-                  VectInfo {
-                    vectInfoCCVar = mkNameSet 
-                                     (ifaceVectInfoCCVar . mi_vect_info $ iface)
-                  }     
                }
 
        ; updateEps_  $ \ eps -> 
@@ -587,6 +584,7 @@ pprModIface iface
        , vcat (map ppr (mi_insts iface))
        , vcat (map ppr (mi_fam_insts iface))
        , vcat (map ppr (mi_rules iface))
+        , pprVectInfo (mi_vect_info iface)
        , pprDeprecs (mi_deprecs iface)
        ]
   where
@@ -659,6 +657,10 @@ pprFixities fixes = ptext SLIT("fixities") <+> pprWithCommas pprFix fixes
                  where
                    pprFix (occ,fix) = ppr fix <+> ppr occ 
 
+pprVectInfo :: IfaceVectInfo -> SDoc
+pprVectInfo (IfaceVectInfo names) = 
+  ptext SLIT("Closured converted:") <+> hsep (map ppr names)
+
 pprDeprecs NoDeprecs       = empty
 pprDeprecs (DeprecAll txt)  = ptext SLIT("Deprecate all") <+> doubleQuotes (ftext txt)
 pprDeprecs (DeprecSome prs) = ptext SLIT("Deprecate") <+> vcat (map pprDeprec prs)