[commit: ghc] master: Track STG live register information for use in LLVM (4384e14)

David Terei davidterei at gmail.com
Tue Jan 10 03:42:16 CET 2012


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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/4384e146640230399b38cd62e8e5df391f72c3a7

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

commit 4384e146640230399b38cd62e8e5df391f72c3a7
Author: David Terei <davidterei at gmail.com>
Date:   Tue Jan 3 18:07:05 2012 +1100

    Track STG live register information for use in LLVM
    
    We now carry around with CmmJump statements a list of
    the STG registers that are live at that jump site.
    This is used by the LLVM backend so it can avoid
    unnesecarily passing around dead registers, improving
    perfromance. This gives us the framework to finally
    fix trac #4308.

 compiler/cmm/CmmCvt.hs                  |    4 +-
 compiler/cmm/CmmLint.hs                 |    2 +-
 compiler/cmm/CmmOpt.hs                  |    6 +-
 compiler/cmm/CmmParse.y                 |    8 ++--
 compiler/cmm/OldCmm.hs                  |   54 ++++++++++++-------
 compiler/cmm/OldPprCmm.hs               |   28 +++++-----
 compiler/cmm/PprC.hs                    |    4 +-
 compiler/codeGen/CgClosure.lhs          |   10 ++--
 compiler/codeGen/CgCon.lhs              |   13 +++--
 compiler/codeGen/CgExpr.lhs             |    8 ++-
 compiler/codeGen/CgHeapery.lhs          |   90 ++++++++++++++++++-------------
 compiler/codeGen/CgInfoTbls.hs          |    8 ++--
 compiler/codeGen/CgMonad.lhs            |    2 +-
 compiler/codeGen/CgTailCall.lhs         |   88 +++++++++++++++++-------------
 compiler/codeGen/CgUtils.hs             |    2 +-
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs |   32 ++++++++---
 compiler/llvmGen/LlvmCodeGen/Regs.hs    |    8 ++-
 compiler/nativeGen/AsmCodeGen.lhs       |    4 +-
 compiler/nativeGen/PPC/CodeGen.hs       |    2 +-
 compiler/nativeGen/SPARC/CodeGen.hs     |    2 +-
 compiler/nativeGen/X86/CodeGen.hs       |    2 +-
 21 files changed, 221 insertions(+), 156 deletions(-)


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

    git show 4384e146640230399b38cd62e8e5df391f72c3a7



More information about the Cvs-ghc mailing list