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

On branch  : ghc-7.2

http://hackage.haskell.org/trac/ghc/changeset/561bd27ef39867b70a9d622c0a752e4acbfd957d

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

commit 561bd27ef39867b70a9d622c0a752e4acbfd957d
Author: Ian Lynagh <[email protected]>
Date:   Fri Jul 15 19:37:50 2011 +0100

    Small refactoring

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

 compiler/nativeGen/AsmCodeGen.lhs   |    4 ++--
 compiler/nativeGen/PPC/CodeGen.hs   |    7 +++----
 compiler/nativeGen/SPARC/CodeGen.hs |   19 ++++++++++---------
 compiler/nativeGen/X86/CodeGen.hs   |    7 +++----
 4 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/compiler/nativeGen/AsmCodeGen.lhs 
b/compiler/nativeGen/AsmCodeGen.lhs
index ec52266..94b0258 100644
--- a/compiler/nativeGen/AsmCodeGen.lhs
+++ b/compiler/nativeGen/AsmCodeGen.lhs
@@ -133,7 +133,7 @@ The machine-dependent bits break down as follows:
 -- Top-level of the native codegen
 
 data NcgImpl statics instr jumpDest = NcgImpl {
-    cmmTopCodeGen             :: Platform -> RawCmmTop -> NatM [NatCmmTop 
statics instr],
+    cmmTopCodeGen             :: RawCmmTop -> NatM [NatCmmTop statics instr],
     generateJumpTableForInstr :: instr -> Maybe (NatCmmTop statics instr),
     getJumpDestBlockId        :: jumpDest -> Maybe BlockId,
     canShortcut               :: instr -> Maybe jumpDest,
@@ -361,7 +361,7 @@ cmmNativeGen dflags ncgImpl us cmm count
        -- generate native code from cmm
        let ((native, lastMinuteImports), usGen) =
                {-# SCC "genMachCode" #-}
-               initUs us $ genMachCode dflags (cmmTopCodeGen ncgImpl platform) 
opt_cmm
+               initUs us $ genMachCode dflags (cmmTopCodeGen ncgImpl) opt_cmm
 
        dumpIfSet_dyn dflags
                Opt_D_dump_asm_native "Native code"
diff --git a/compiler/nativeGen/PPC/CodeGen.hs 
b/compiler/nativeGen/PPC/CodeGen.hs
index 4560266..a0e3ae9 100644
--- a/compiler/nativeGen/PPC/CodeGen.hs
+++ b/compiler/nativeGen/PPC/CodeGen.hs
@@ -66,11 +66,10 @@ import FastString
 -- order.
 
 cmmTopCodeGen
-        :: Platform
-        -> RawCmmTop
+        :: RawCmmTop
         -> NatM [NatCmmTop CmmStatics Instr]
 
-cmmTopCodeGen _ (CmmProc info lab (ListGraph blocks)) = do
+cmmTopCodeGen (CmmProc info lab (ListGraph blocks)) = do
   (nat_blocks,statics) <- mapAndUnzipM basicBlockCodeGen blocks
   picBaseMb <- getPicBaseMaybeNat
   dflags <- getDynFlagsNat
@@ -81,7 +80,7 @@ cmmTopCodeGen _ (CmmProc info lab (ListGraph blocks)) = do
       Just picBase -> initializePicBase_ppc ArchPPC os picBase tops
       Nothing -> return tops
 
-cmmTopCodeGen _ (CmmData sec dat) = do
+cmmTopCodeGen (CmmData sec dat) = do
   return [CmmData sec dat]  -- no translation, we just use CmmStatic
 
 basicBlockCodeGen
diff --git a/compiler/nativeGen/SPARC/CodeGen.hs 
b/compiler/nativeGen/SPARC/CodeGen.hs
index 817fa47..6f454a3 100644
--- a/compiler/nativeGen/SPARC/CodeGen.hs
+++ b/compiler/nativeGen/SPARC/CodeGen.hs
@@ -41,6 +41,7 @@ import OldCmm
 import CLabel
 
 -- The rest:
+import DynFlags
 import StaticFlags     ( opt_PIC )
 import OrdList
 import Outputable
@@ -50,21 +51,21 @@ import Unique
 import Control.Monad   ( mapAndUnzipM )
 
 -- | Top level code generation
-cmmTopCodeGen :: Platform
-              -> RawCmmTop
+cmmTopCodeGen :: RawCmmTop
               -> NatM [NatCmmTop CmmStatics Instr]
 
-cmmTopCodeGen platform
-       (CmmProc info lab (ListGraph blocks)) 
+cmmTopCodeGen (CmmProc info lab (ListGraph blocks))
  = do  
-       (nat_blocks,statics) <- mapAndUnzipM (basicBlockCodeGen platform) blocks
+      dflags <- getDynFlagsNat
+      let platform = targetPlatform dflags
+      (nat_blocks,statics) <- mapAndUnzipM (basicBlockCodeGen platform) blocks
 
-       let proc        = CmmProc info lab (ListGraph $ concat nat_blocks)
-       let tops        = proc : concat statics
+      let proc = CmmProc info lab (ListGraph $ concat nat_blocks)
+      let tops = proc : concat statics
 
-       return tops
+      return tops
   
-cmmTopCodeGen _ (CmmData sec dat) = do
+cmmTopCodeGen (CmmData sec dat) = do
   return [CmmData sec dat]  -- no translation, we just use CmmStatic
 
 
diff --git a/compiler/nativeGen/X86/CodeGen.hs 
b/compiler/nativeGen/X86/CodeGen.hs
index 00d9a5b..49ac543 100644
--- a/compiler/nativeGen/X86/CodeGen.hs
+++ b/compiler/nativeGen/X86/CodeGen.hs
@@ -79,11 +79,10 @@ if_sse2 sse2 x87 = do
   if b then sse2 else x87
 
 cmmTopCodeGen
-        :: Platform
-        -> RawCmmTop
+        :: RawCmmTop
         -> NatM [NatCmmTop (Alignment, CmmStatics) Instr]
 
-cmmTopCodeGen _ (CmmProc info lab (ListGraph blocks)) = do
+cmmTopCodeGen (CmmProc info lab (ListGraph blocks)) = do
   (nat_blocks,statics) <- mapAndUnzipM basicBlockCodeGen blocks
   picBaseMb <- getPicBaseMaybeNat
   dflags <- getDynFlagsNat
@@ -95,7 +94,7 @@ cmmTopCodeGen _ (CmmProc info lab (ListGraph blocks)) = do
       Just picBase -> initializePicBase_x86 ArchX86 os picBase tops
       Nothing -> return tops
 
-cmmTopCodeGen _ (CmmData sec dat) = do
+cmmTopCodeGen (CmmData sec dat) = do
   return [CmmData sec (1, dat)]  -- no translation, we just use CmmStatic
 
 



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

Reply via email to