Merge in new code generator branch.
[ghc-hetmet.git] / compiler / nativeGen / SPARC / CodeGen / Base.hs
index 6e325cb..57fb7c9 100644 (file)
@@ -18,10 +18,12 @@ import SPARC.Instr
 import SPARC.Cond
 import SPARC.AddrMode
 import SPARC.Regs
+import SPARC.RegPlate
 import Size
 import Reg
 
-import Cmm
+import OldCmm
+import OldPprCmm ()
 
 import Outputable
 import OrdList
@@ -92,12 +94,14 @@ setSizeOfRegister reg size
 getRegisterReg :: CmmReg -> Reg
 
 getRegisterReg (CmmLocal (LocalReg u pk))
-  = mkVReg u (cmmTypeSize pk)
+       = RegVirtual $ mkVirtualReg u (cmmTypeSize pk)
 
 getRegisterReg (CmmGlobal mid)
-  = case get_GlobalReg_reg_or_addr mid of
-       Left (RealReg rrno)     -> RealReg rrno
-       _                       -> pprPanic "getRegisterReg-memory" (ppr $ CmmGlobal mid)
+  = case globalRegMaybe mid of
+        Just reg -> RegReal reg
+        Nothing  -> pprPanic
+                        "SPARC.CodeGen.Base.getRegisterReg: global is in memory"
+                        (ppr $ CmmGlobal mid)
 
 
 -- Expand CmmRegOff.  ToDo: should we do it this way around, or convert