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
