summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/SPARC/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/nativeGen/SPARC/CodeGen')
-rw-r--r--compiler/nativeGen/SPARC/CodeGen/Base.hs11
-rw-r--r--compiler/nativeGen/SPARC/CodeGen/Gen32.hs7
2 files changed, 11 insertions, 7 deletions
diff --git a/compiler/nativeGen/SPARC/CodeGen/Base.hs b/compiler/nativeGen/SPARC/CodeGen/Base.hs
index 8990072c3f..469361139b 100644
--- a/compiler/nativeGen/SPARC/CodeGen/Base.hs
+++ b/compiler/nativeGen/SPARC/CodeGen/Base.hs
@@ -25,12 +25,13 @@ import SPARC.Instr
import SPARC.Cond
import SPARC.AddrMode
import SPARC.Regs
-import SPARC.RegPlate
import Size
import Reg
+import CodeGen.Platform
import OldCmm
import OldPprCmm ()
+import Platform
import Outputable
import OrdList
@@ -98,13 +99,13 @@ setSizeOfRegister reg size
--------------------------------------------------------------------------------
-- | Grab the Reg for a CmmReg
-getRegisterReg :: CmmReg -> Reg
+getRegisterReg :: Platform -> CmmReg -> Reg
-getRegisterReg (CmmLocal (LocalReg u pk))
+getRegisterReg _ (CmmLocal (LocalReg u pk))
= RegVirtual $ mkVirtualReg u (cmmTypeSize pk)
-getRegisterReg (CmmGlobal mid)
- = case globalRegMaybe mid of
+getRegisterReg platform (CmmGlobal mid)
+ = case globalRegMaybe platform mid of
Just reg -> RegReal reg
Nothing -> pprPanic
"SPARC.CodeGen.Base.getRegisterReg: global is in memory"
diff --git a/compiler/nativeGen/SPARC/CodeGen/Gen32.hs b/compiler/nativeGen/SPARC/CodeGen/Gen32.hs
index 454e786f1a..c2c47e99aa 100644
--- a/compiler/nativeGen/SPARC/CodeGen/Gen32.hs
+++ b/compiler/nativeGen/SPARC/CodeGen/Gen32.hs
@@ -32,6 +32,7 @@ import Reg
import OldCmm
import Control.Monad (liftM)
+import DynFlags
import OrdList
import Outputable
@@ -54,8 +55,10 @@ getSomeReg expr = do
getRegister :: CmmExpr -> NatM Register
getRegister (CmmReg reg)
- = return (Fixed (cmmTypeSize (cmmRegType reg))
- (getRegisterReg reg) nilOL)
+ = do dflags <- getDynFlags
+ let platform = targetPlatform dflags
+ return (Fixed (cmmTypeSize (cmmRegType reg))
+ (getRegisterReg platform reg) nilOL)
getRegister tree@(CmmRegOff _ _)
= getRegister (mangleIndexTree tree)