> module UpdAnal ( updateAnalyse ) where
>
-> import Ubiq{-uitous-}
+> IMP_Ubiq(){-uitous-}
>
> import StgSyn
> import Util ( panic )
> updateAnalyse = panic "UpdAnal.updateAnalyse"
>
> {- LATER: to end of file:
-> --import Type ( splitTyArgs, splitSigmaTy, Class, TyVarTemplate,
-> -- TauType(..)
+> --import Type ( splitFunTy, splitSigmaTy, Class, TyVarTemplate,
+> -- SYN_IE(TauType)
> -- )
> --import Id
> --import IdInfo
-> --import Outputable ( isExported )
> --import Pretty
> --import SrcLoc ( mkUnknownSrcLoc )
> --import StgSyn
> --import UniqSet
-> --import UniqSupply ( getBuiltinUniques )
+> --import Unique ( getBuiltinUniques )
> --import Util
%-----------------------------------------------------------------------------
> (combine_IdEnvs (+) c' c, b', f')
>
> (_,dict_tys,tau_ty) = (splitSigmaTy . idType) v
-> (reg_arg_tys, _) = splitTyArgs tau_ty
+> (reg_arg_tys, _) = splitFunTy tau_ty
> arity = length dict_tys + length reg_arg_tys
removeSuperfluous2s = reverse . dropWhile (> 1) . reverse
> 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))