summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/SPARC/CodeGen.hs
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2011-07-15 19:37:50 +0100
committerIan Lynagh <igloo@earth.li>2011-07-15 19:37:50 +0100
commit83e8244fc16182d28a7b4e6357984051cd089f06 (patch)
tree870a40e9cd5f9f3db45d3d5ef9b1f4fe745f95b3 /compiler/nativeGen/SPARC/CodeGen.hs
parentec7b75121e09d4dc996fdba61efebff1a79536cb (diff)
downloadhaskell-83e8244fc16182d28a7b4e6357984051cd089f06.tar.gz
Small refactoring
Diffstat (limited to 'compiler/nativeGen/SPARC/CodeGen.hs')
-rw-r--r--compiler/nativeGen/SPARC/CodeGen.hs23
1 files changed, 12 insertions, 11 deletions
diff --git a/compiler/nativeGen/SPARC/CodeGen.hs b/compiler/nativeGen/SPARC/CodeGen.hs
index 817fa47183..6f454a3733 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))
- = do
- (nat_blocks,statics) <- mapAndUnzipM (basicBlockCodeGen platform) blocks
+cmmTopCodeGen (CmmProc info lab (ListGraph blocks))
+ = do
+ 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
-
-cmmTopCodeGen _ (CmmData sec dat) = do
+ return tops
+
+cmmTopCodeGen (CmmData sec dat) = do
return [CmmData sec dat] -- no translation, we just use CmmStatic