diff options
author | Ian Lynagh <igloo@earth.li> | 2011-07-15 19:37:50 +0100 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2011-07-15 19:37:50 +0100 |
commit | 83e8244fc16182d28a7b4e6357984051cd089f06 (patch) | |
tree | 870a40e9cd5f9f3db45d3d5ef9b1f4fe745f95b3 /compiler/nativeGen/SPARC/CodeGen.hs | |
parent | ec7b75121e09d4dc996fdba61efebff1a79536cb (diff) | |
download | haskell-83e8244fc16182d28a7b4e6357984051cd089f06.tar.gz |
Small refactoring
Diffstat (limited to 'compiler/nativeGen/SPARC/CodeGen.hs')
-rw-r--r-- | compiler/nativeGen/SPARC/CodeGen.hs | 23 |
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 |