[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