diff options
Diffstat (limited to 'compiler/nativeGen/SPARC/CodeGen')
| -rw-r--r-- | compiler/nativeGen/SPARC/CodeGen/Base.hs | 11 | ||||
| -rw-r--r-- | compiler/nativeGen/SPARC/CodeGen/Gen32.hs | 7 |
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) |
