[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