[commit: ghc] newcg: Run the complete backend (Stg -> .S) incrementally on each StgBinding (46a772f)

Simon Marlow marlowsd at gmail.com
Thu Jan 26 17:02:33 CET 2012


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

On branch  : newcg

http://hackage.haskell.org/trac/ghc/changeset/46a772f8efb7aa9d350227e8fd5d5809757c3f1e

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

commit 46a772f8efb7aa9d350227e8fd5d5809757c3f1e
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Thu Jan 26 16:01:04 2012 +0000

    Run the complete backend (Stg -> .S) incrementally on each StgBinding
    
    This is so that we can process the Stg code in constant space.  Before
    we were generating all the C-- up front, leading to a large space
    leak.
    
    I haven't converted the LLVM or C back ends to the incremental scheme,
    but it's not hard to do.

 compiler/cmm/CmmBuildInfoTables.hs |   16 +++--
 compiler/cmm/CmmInfo.hs            |   12 +++-
 compiler/cmm/CmmPipeline.hs        |    8 +-
 compiler/codeGen/StgCmm.hs         |  135 ++++++++++++++---------------------
 compiler/codeGen/StgCmmMonad.hs    |   15 ++--
 compiler/ghc.cabal.in              |    1 +
 compiler/main/CodeOutput.lhs       |   62 ++++++++++-------
 compiler/main/HscMain.hs           |   73 +++++++++++++++-----
 compiler/nativeGen/AsmCodeGen.lhs  |   40 +++++++++--
 compiler/utils/Stream.hs           |   97 ++++++++++++++++++++++++++
 10 files changed, 313 insertions(+), 146 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 46a772f8efb7aa9d350227e8fd5d5809757c3f1e



More information about the Cvs-ghc mailing list