Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : supercompiler

http://hackage.haskell.org/trac/ghc/changeset/e144ebd0e31f21c7379f663d989a16ea81c62d41

>---------------------------------------------------------------

commit e144ebd0e31f21c7379f663d989a16ea81c62d41
Author: Max Bolingbroke <batterseapo...@hotmail.com>
Date:   Mon Mar 12 12:28:38 2012 +0000

    Make use of SUPERCOMPILE pragmas when deciding what to SC

>---------------------------------------------------------------

 compiler/supercompile/Supercompile.hs |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/compiler/supercompile/Supercompile.hs 
b/compiler/supercompile/Supercompile.hs
index ca7c349..41a4153 100644
--- a/compiler/supercompile/Supercompile.hs
+++ b/compiler/supercompile/Supercompile.hs
@@ -198,7 +198,9 @@ supercompile e = -- liftM (termToCoreExpr . snd) $
         e' = runParseM (coreExprToTerm e)
 
 supercompileProgram :: [CoreBind] -> IO [CoreBind]
-supercompileProgram = supercompileProgramSelective (const True)
+supercompileProgram binds = supercompileProgramSelective selector binds
+  where selector | any idSupercompilePragma (bindersOfBinds binds) = 
idSupercompilePragma
+                 | otherwise                                       = const True
 
 supercompileProgramSelective :: (Id -> Bool) -> [CoreBind] -> IO [CoreBind]
 supercompileProgramSelective should_sc binds = liftM (\e' -> NonRec x e' : 
rebuild x) (supercompile e)



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to