[commit: ghc] ghc-7.2: Remove some defaultTargetPlatform's (edbc9f5)

Ian Lynagh igloo at earth.li
Tue Jul 19 18:27:30 CEST 2011


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

On branch  : ghc-7.2

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

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

commit edbc9f564c19273d8bc4647ebbc389c7330ee851
Author: Ian Lynagh <igloo at earth.li>
Date:   Fri Jul 15 13:16:50 2011 +0100

    Remove some defaultTargetPlatform's
    
    We now pass the correct platform in instead

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

 compiler/nativeGen/AsmCodeGen.lhs                  |    2 +-
 compiler/nativeGen/RegAlloc/Graph/Main.hs          |    4 +-
 compiler/nativeGen/RegAlloc/Graph/Stats.hs         |    4 +-
 compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs |   23 ++++++++-----------
 4 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/compiler/nativeGen/AsmCodeGen.lhs b/compiler/nativeGen/AsmCodeGen.lhs
index 0e497fe..9941546 100644
--- a/compiler/nativeGen/AsmCodeGen.lhs
+++ b/compiler/nativeGen/AsmCodeGen.lhs
@@ -245,7 +245,7 @@ nativeCodeGen' dflags ncgImpl h us cmms
 			Opt_D_dump_asm_conflicts "Register conflict graph"
 			$ Color.dotGraph 
 				targetRegDotColor 
-				(Color.trivColorable 
+				(Color.trivColorable (targetPlatform dflags)
 					targetVirtualRegSqueeze 
 					targetRealRegSqueeze)
 			$ graphGlobal)
diff --git a/compiler/nativeGen/RegAlloc/Graph/Main.hs b/compiler/nativeGen/RegAlloc/Graph/Main.hs
index 9e8c25e..1b3ecd1 100644
--- a/compiler/nativeGen/RegAlloc/Graph/Main.hs
+++ b/compiler/nativeGen/RegAlloc/Graph/Main.hs
@@ -59,7 +59,7 @@ regAlloc dflags regsFree slotsFree code
 	-- TODO: the regClass function is currently hard coded to the default target
 	--	 architecture. Would prefer to determine this from dflags.
 	--	 There are other uses of targetRegClass later in this module.
-	let triv = trivColorable 
+	let triv = trivColorable (targetPlatform dflags)
 			targetVirtualRegSqueeze
 			targetRealRegSqueeze
 
@@ -348,7 +348,7 @@ patchRegsFromGraph platform graph code
 			$$ pprPlatform platform code
 			$$ Color.dotGraph 
 				(\_ -> text "white") 
-				(trivColorable 
+				(trivColorable platform
 					targetVirtualRegSqueeze
 					targetRealRegSqueeze)
 				graph)
diff --git a/compiler/nativeGen/RegAlloc/Graph/Stats.hs b/compiler/nativeGen/RegAlloc/Graph/Stats.hs
index c4a3c90..4b10e9f 100644
--- a/compiler/nativeGen/RegAlloc/Graph/Stats.hs
+++ b/compiler/nativeGen/RegAlloc/Graph/Stats.hs
@@ -75,7 +75,7 @@ instance (Outputable statics, PlatformOutputable instr) => PlatformOutputable (R
 	$$ text "#  Initial register conflict graph."
 	$$ Color.dotGraph 
 		targetRegDotColor
-		(trivColorable 
+		(trivColorable platform
 			targetVirtualRegSqueeze
 			targetRealRegSqueeze)
 		(raGraph s)
@@ -112,7 +112,7 @@ instance (Outputable statics, PlatformOutputable instr) => PlatformOutputable (R
 	$$ text "#  Register conflict graph (colored)."
 	$$ Color.dotGraph 
 		targetRegDotColor
-		(trivColorable 
+		(trivColorable platform
 			targetVirtualRegSqueeze
 			targetRealRegSqueeze)
 		(raGraphColored s)
diff --git a/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs b/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
index 802f847..e62b4a9 100644
--- a/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
+++ b/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
@@ -98,18 +98,15 @@ the most efficient variant tried. Benchmark compiling 10-times SHA1.lhs follows.
                                  100.00%   166.23%   94.18%    100.95%
 -}
 
--- TODO: We shouldn't be using defaultTargetPlatform here.
---       We should be passing DynFlags in instead, and looking at
---       its targetPlatform.
-
 trivColorable
-        :: (RegClass -> VirtualReg -> FastInt)
+        :: Platform
+        -> (RegClass -> VirtualReg -> FastInt)
         -> (RegClass -> RealReg    -> FastInt)
         -> Triv VirtualReg RegClass RealReg
 
-trivColorable virtualRegSqueeze realRegSqueeze RcInteger conflicts exclusions
+trivColorable platform virtualRegSqueeze realRegSqueeze RcInteger conflicts exclusions
         | let !cALLOCATABLE_REGS_INTEGER
-                  = iUnbox (case platformArch defaultTargetPlatform of
+                  = iUnbox (case platformArch platform of
                             ArchX86     -> 3
                             ArchX86_64  -> 5
                             ArchPPC     -> 16
@@ -127,9 +124,9 @@ trivColorable virtualRegSqueeze realRegSqueeze RcInteger conflicts exclusions
 
         = count3 <# cALLOCATABLE_REGS_INTEGER
 
-trivColorable virtualRegSqueeze realRegSqueeze RcFloat conflicts exclusions
+trivColorable platform virtualRegSqueeze realRegSqueeze RcFloat conflicts exclusions
         | let !cALLOCATABLE_REGS_FLOAT
-                  = iUnbox (case platformArch defaultTargetPlatform of
+                  = iUnbox (case platformArch platform of
                             ArchX86     -> 0
                             ArchX86_64  -> 0
                             ArchPPC     -> 0
@@ -147,9 +144,9 @@ trivColorable virtualRegSqueeze realRegSqueeze RcFloat conflicts exclusions
 
         = count3 <# cALLOCATABLE_REGS_FLOAT
 
-trivColorable virtualRegSqueeze realRegSqueeze RcDouble conflicts exclusions
+trivColorable platform virtualRegSqueeze realRegSqueeze RcDouble conflicts exclusions
         | let !cALLOCATABLE_REGS_DOUBLE
-                  = iUnbox (case platformArch defaultTargetPlatform of
+                  = iUnbox (case platformArch platform of
                             ArchX86     -> 6
                             ArchX86_64  -> 0
                             ArchPPC     -> 26
@@ -167,9 +164,9 @@ trivColorable virtualRegSqueeze realRegSqueeze RcDouble conflicts exclusions
 
         = count3 <# cALLOCATABLE_REGS_DOUBLE
 
-trivColorable virtualRegSqueeze realRegSqueeze RcDoubleSSE conflicts exclusions
+trivColorable platform virtualRegSqueeze realRegSqueeze RcDoubleSSE conflicts exclusions
         | let !cALLOCATABLE_REGS_SSE
-                  = iUnbox (case platformArch defaultTargetPlatform of
+                  = iUnbox (case platformArch platform of
                             ArchX86     -> 8
                             ArchX86_64  -> 10
                             ArchPPC     -> 0





More information about the Cvs-ghc mailing list