Run the complete backend (Stg -> .S) incrementally on each StgBinding
authorSimon Marlow <marlowsd@gmail.com>
Thu, 26 Jan 2012 16:01:04 +0000 (16:01 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Thu, 26 Jan 2012 16:01:04 +0000 (16:01 +0000)
commit46a772f8efb7aa9d350227e8fd5d5809757c3f1e
treee12beccf2317e53f0a3b8fe3715e89da2d719cd4
parent88745c9120f408e53ad1de2489963ede2ac9a668
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
compiler/cmm/CmmInfo.hs
compiler/cmm/CmmPipeline.hs
compiler/codeGen/StgCmm.hs
compiler/codeGen/StgCmmMonad.hs
compiler/ghc.cabal.in
compiler/main/CodeOutput.lhs
compiler/main/HscMain.hs
compiler/nativeGen/AsmCodeGen.lhs
compiler/utils/Stream.hs [new file with mode: 0644]