X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FsimplCore%2FSAT.lhs;h=c79a174b4e0152931d3fe8a273f665fb512cf7df;hb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;hp=cac46f1c731a2ad8ee7ff405ca0b98214497f6e2;hpb=e7498a3ee1d0484d02a9e86633cc179c76ebf36e;p=ghc-hetmet.git diff --git a/ghc/compiler/simplCore/SAT.lhs b/ghc/compiler/simplCore/SAT.lhs index cac46f1..c79a174 100644 --- a/ghc/compiler/simplCore/SAT.lhs +++ b/ghc/compiler/simplCore/SAT.lhs @@ -1,5 +1,5 @@ % -% (c) The GRASP/AQUA Project, Glasgow University, 1992-1996 +% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998 % %************************************************************************ %* * @@ -38,27 +38,31 @@ Experimental Evidence: Heap: +/- 7% Instrs: Always improves for 2 or more Static Args. \begin{code} -#include "HsVersions.h" - module SAT ( doStaticArgs ) where -IMP_Ubiq(){-uitous-} +#include "HsVersions.h" + import Util ( panic ) doStaticArgs = panic "SAT.doStaticArgs (ToDo)" {- LATER: to end of file: -import Maybes ( Maybe(..) ) import SATMonad import Util \end{code} \begin{code} -doStaticArgs :: [CoreBinding] -> UniqSupply -> [CoreBinding] +doStaticArgs :: [CoreBind] -> UniqSupply -> [CoreBind] doStaticArgs binds - = initSAT (mapSAT sat_bind binds) + = do { + beginPass "Static argument"; + let { binds' = initSAT (mapSAT sat_bind binds) }; + endPass "Static argument" + False -- No specific flag for dumping SAT + binds' + } where sat_bind (NonRec binder expr) = emptyEnvSAT `thenSAT_` @@ -165,13 +169,9 @@ satExpr (Let (Rec binds) body) mapSAT satExpr rhss `thenSAT` \ rhss' -> returnSAT (Let (Rec (zipEqual "satExpr:Rec" binders rhss')) body') -satExpr (SCC cc expr) - = satExpr expr `thenSAT` \ expr2 -> - returnSAT (SCC cc expr2) - -satExpr (Coerce c ty expr) +satExpr (Note note expr) = satExpr expr `thenSAT` \ expr2 -> - returnSAT (Coerce c ty expr2) + returnSAT (Note note expr2) \end{code} \begin{code}