X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FsimplStg%2FSatStgRhs.lhs;fp=ghc%2Fcompiler%2FsimplStg%2FSatStgRhs.lhs;h=2c9dcfc515e3474bb7b770516bd12d755e94e0f1;hb=7d61cb61daa5e433a0cb85b34b7f0c58b2f961ff;hp=16c903e726a910584a438e8596b54c4c829e8b2b;hpb=b8875f2f7f596482228645b9751f8f9c592a84c5;p=ghc-hetmet.git diff --git a/ghc/compiler/simplStg/SatStgRhs.lhs b/ghc/compiler/simplStg/SatStgRhs.lhs index 16c903e..2c9dcfc 100644 --- a/ghc/compiler/simplStg/SatStgRhs.lhs +++ b/ghc/compiler/simplStg/SatStgRhs.lhs @@ -1,8 +1,10 @@ % -% (c) The GRASP/AQUA Project, Glasgow University, 1992-1995 +% (c) The GRASP/AQUA Project, Glasgow University, 1992-1996 % \section[SatStgRhs]{Saturates RHSs when they are partial applications} +96/03: This is actually an essential module, as it sets arity info +for the code generator. \begin{display} Subject: arg satis check @@ -58,20 +60,22 @@ This is done for local definitions as well. module SatStgRhs ( satStgRhs ) where +import Ubiq{-uitous-} + import StgSyn -import Type ( splitTypeWithDictsAsArgs, Class, - TyVarTemplate, TauType(..) +import CostCentre ( isCafCC, subsumedCosts, useCurrentCostCentre ) +import Id ( idType, getIdArity, addIdArity, mkSysLocal, + nullIdEnv, addOneToIdEnv, growIdEnvList, + lookupIdEnv, IdEnv(..) ) -import CostCentre -import Id ( mkSysLocal, idType, getIdArity, addIdArity ) -import IdInfo -- SIGH: ( arityMaybe, ArityInfo, OptIdInfo(..) ) -import SrcLoc ( mkUnknownSrcLoc, SrcLoc ) -import UniqSupply -import Util -import Maybes - -type Arity = Int +import IdInfo ( arityMaybe ) +import SrcLoc ( mkUnknownSrcLoc ) +import UniqSupply ( returnUs, thenUs, mapUs, getUnique, UniqSM(..) ) +import Util ( panic, assertPanic ) + +splitTypeWithDictsAsArgs = panic "SatStgRhs.splitTypeWithDictsAsArgs (ToDo)" + type Count = Int type ExprArityInfo = Maybe Int -- Just n => This expression has a guaranteed