[commit: ghc] wip/carter/remove_x87Registers: hopefully done debugging registers (db31fea)

git at git.haskell.org git at git.haskell.org
Thu Dec 27 16:59:54 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/carter/remove_x87Registers
Link       : http://ghc.haskell.org/trac/ghc/changeset/db31fea2db6f3ff2a2e80a4832db6d88e6928845/ghc

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

commit db31fea2db6f3ff2a2e80a4832db6d88e6928845
Author: Carter Tazio Schonwald <carter.schonwald at gmail.com>
Date:   Fri Dec 21 20:41:41 2018 -0500

    hopefully done debugging registers


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

db31fea2db6f3ff2a2e80a4832db6d88e6928845
 compiler/nativeGen/RegAlloc/Linear/X86_64/FreeRegs.hs | 5 +----
 compiler/nativeGen/X86/Ppr.hs                         | 1 +
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/compiler/nativeGen/RegAlloc/Linear/X86_64/FreeRegs.hs b/compiler/nativeGen/RegAlloc/Linear/X86_64/FreeRegs.hs
index 07b0e56..61e654f 100644
--- a/compiler/nativeGen/RegAlloc/Linear/X86_64/FreeRegs.hs
+++ b/compiler/nativeGen/RegAlloc/Linear/X86_64/FreeRegs.hs
@@ -39,15 +39,12 @@ getFreeRegs platform cls (FreeRegs f) = go f 0
           | n .&. 1 /= 0 && classOfRealReg platform (RealRegSingle m) == cls
           = RealRegSingle m : (go (n `shiftR` 1) $! (m+1))
 
-          | m > finalRegister = []
-
           | otherwise
           = go (n `shiftR` 1) $! (m+1)
         -- ToDo: there's no point looking through all the integer registers
         -- in order to find a floating-point one.
-        -- Because they're seperate subintervals. A problem for another day.
 
-        finalRegister = lastxmm platform
+
 
 allocateReg :: RealReg -> FreeRegs -> FreeRegs
 allocateReg (RealRegSingle r) (FreeRegs f)
diff --git a/compiler/nativeGen/X86/Ppr.hs b/compiler/nativeGen/X86/Ppr.hs
index 926868a..91196b2 100644
--- a/compiler/nativeGen/X86/Ppr.hs
+++ b/compiler/nativeGen/X86/Ppr.hs
@@ -412,6 +412,7 @@ ppr_reg_float i = case i of
         16 -> sLit "%xmm0" ;   17 -> sLit "%xmm1"
         18 -> sLit "%xmm2" ;   19 -> sLit "%xmm3"
         20 -> sLit "%xmm4" ;   21 -> sLit "%xmm5"
+        22 -> sLit "%xmm6" ;   23 -> sLit "%xmm7"
         24 -> sLit "%xmm8" ;   25 -> sLit "%xmm9"
         26 -> sLit "%xmm10";   27 -> sLit "%xmm11"
         28 -> sLit "%xmm12";   29 -> sLit "%xmm13"



More information about the ghc-commits mailing list