[project @ 1997-05-18 04:52:59 by sof]
[ghc-hetmet.git] / ghc / compiler / simplStg / UpdAnal.lhs
index e0f4adf..ecd8ed1 100644 (file)
 
 > module UpdAnal ( updateAnalyse ) where
 >
-> import Ubiq{-uitous-}
+> IMP_Ubiq(){-uitous-}
 >
 > import StgSyn
+> import Id            ( SYN_IE(IdEnv), growIdEnv, addOneToIdEnv, combineIdEnvs, nullIdEnv, 
+>                        unitIdEnv, mkIdEnv, rngIdEnv, lookupIdEnv, 
+>                        SYN_IE(IdSet),
+>                        getIdUpdateInfo, addIdUpdateInfo, mkSysLocal, idType, isImportedId,
+>                        externallyVisibleId,
+>                        SYN_IE(Id), GenId
+>                      )
+> import IdInfo                ( UpdateInfo, SYN_IE(UpdateSpec), mkUpdateInfo, updateInfoMaybe )
+> import Type          ( splitFunTy, splitSigmaTy )
+> import UniqSet
+> import Unique                ( getBuiltinUniques )
+> import SrcLoc                ( noSrcLoc )
 > import Util          ( panic )
 >
-> updateAnalyse :: [StgBinding] -> [StgBinding] {- Exported -}
-> updateAnalyse = panic "UpdAnal.updateAnalyse"
->
-> {- LATER: to end of file:
-> --import Type                ( splitFunTy, splitSigmaTy, Class, TyVarTemplate,
-> --                     TauType(..)
-> --                   )
-> --import Id
-> --import IdInfo
-> --import Outputable  ( isExported )
-> --import Pretty
-> --import SrcLoc      ( mkUnknownSrcLoc )
-> --import StgSyn
-> --import UniqSet
-> --import Unique      ( getBuiltinUniques )
-> --import Util
 
 %-----------------------------------------------------------------------------
 \subsection{Reverse application}
@@ -480,7 +476,7 @@ Convert a Closure into a representation that can be placed in a .hi file.
 >          where
 >              (c,b,_)     = foldl doApp f ids
 >              ids         = map mkid (getBuiltinUniques arity)
->              mkid u      = mkSysLocal SLIT("upd") u noType mkUnknownSrcLoc
+>              mkid u      = mkSysLocal SLIT("upd") u noType noSrcLoc
 >              countUses u = if u `elemRefs` b then 2 else min (lookupc c u) 2
 >              noType      = panic "UpdAnal: no type!"
 >
@@ -507,11 +503,10 @@ suffice for now.
 >      StgRec bs       -> StgRec [ (attachOne v, rhs) | (v, rhs) <- bs ]
 >
 >   where attachOne v
->              | isExported v
+>              | externallyVisibleId v
 >                      = let c = lookup v p in
 >                              addIdUpdateInfo v
 >                                      (mkUpdateInfo (mkUpdateSpec v c))
 >              | otherwise    = v
-> -}
 
 %-----------------------------------------------------------------------------