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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/f857f0741515b9ebf186beb38fe64448de355817

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

commit f857f0741515b9ebf186beb38fe64448de355817
Author: Simon Marlow <[email protected]>
Date:   Fri Jul 6 13:32:22 2012 +0100

    Allow the register allocator access to argument regs (R1.., F1.., etc.)
    
    This was made possible by the recent change to codeGen to attach the
    live GlobalRegs to every CmmJump, and we'll be relying on it quite
    heavily in the new code generator too.
    
    What this means essentially is that when we see
    
      x = R1
    
    the register allocator will automatically assign x to R1 and generate
    no code at all (also known as "coalescing"). It wasn't possible before
    because the register allocator had to assume that R1 was always live,
    because it didn't have access to accurate liveness information.

 compiler/cmm/CmmCallConv.hs                |   26 +++++++----
 compiler/nativeGen/RegAlloc/Linear/Main.hs |   23 ++++++---
 compiler/nativeGen/X86/CodeGen.hs          |   26 ++++++----
 compiler/nativeGen/X86/Instr.hs            |   14 +++---
 compiler/nativeGen/X86/Ppr.hs              |    6 +-
 compiler/nativeGen/X86/Regs.hs             |   73 ++++++++--------------------
 6 files changed, 78 insertions(+), 90 deletions(-)


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

    git show f857f0741515b9ebf186beb38fe64448de355817

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to