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