diff options
author | Ian Lynagh <ian@well-typed.com> | 2012-08-28 20:52:44 +0100 |
---|---|---|
committer | Ian Lynagh <ian@well-typed.com> | 2012-08-28 20:52:44 +0100 |
commit | c0907ed27351e4160c0c8b2a5c9877899d87aae9 (patch) | |
tree | ae34750faa31e4c334ef9e3a5556093d30c11dea /compiler/nativeGen/SPARC/CodeGen.hs | |
parent | 0e7d2906e706acdd716f121abb19c433986ae830 (diff) | |
download | haskell-c0907ed27351e4160c0c8b2a5c9877899d87aae9.tar.gz |
Move more code into codeGen/CodeGen/Platform.hs
HaskellMachRegs.h is no longer included in anything under compiler/
Also, includes/CodeGen.Platform.hs now includes "stg/MachRegs.h"
rather than <stg/MachRegs.h> which means that we always get the file
from the tree, rather than from the bootstrapping compiler.
Diffstat (limited to 'compiler/nativeGen/SPARC/CodeGen.hs')
-rw-r--r-- | compiler/nativeGen/SPARC/CodeGen.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/nativeGen/SPARC/CodeGen.hs b/compiler/nativeGen/SPARC/CodeGen.hs index 840918281f..a3409dd28b 100644 --- a/compiler/nativeGen/SPARC/CodeGen.hs +++ b/compiler/nativeGen/SPARC/CodeGen.hs @@ -191,12 +191,12 @@ assignMem_IntCode pk addr src = do assignReg_IntCode :: Size -> CmmReg -> CmmExpr -> NatM InstrBlock assignReg_IntCode _ reg src = do + dflags <- getDynFlags r <- getRegister src + let dst = getRegisterReg (targetPlatform dflags) reg return $ case r of Any _ code -> code dst Fixed _ freg fcode -> fcode `snocOL` OR False g0 (RIReg freg) dst - where - dst = getRegisterReg reg @@ -218,8 +218,10 @@ assignMem_FltCode pk addr src = do -- Floating point assignment to a register/temporary assignReg_FltCode :: Size -> CmmReg -> CmmExpr -> NatM InstrBlock assignReg_FltCode pk dstCmmReg srcCmmExpr = do + dflags <- getDynFlags + let platform = targetPlatform dflags srcRegister <- getRegister srcCmmExpr - let dstReg = getRegisterReg dstCmmReg + let dstReg = getRegisterReg platform dstCmmReg return $ case srcRegister of Any _ code -> code dstReg @@ -537,7 +539,7 @@ assign_code _ [] = nilOL assign_code platform [CmmHinted dest _hint] = let rep = localRegType dest width = typeWidth rep - r_dest = getRegisterReg (CmmLocal dest) + r_dest = getRegisterReg platform (CmmLocal dest) result | isFloatType rep |