diff options
Diffstat (limited to 'compiler/nativeGen/SPARC/CodeGen/Base.hs')
-rw-r--r-- | compiler/nativeGen/SPARC/CodeGen/Base.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/nativeGen/SPARC/CodeGen/Base.hs b/compiler/nativeGen/SPARC/CodeGen/Base.hs index 6e325cb7a1..54bbf9b51a 100644 --- a/compiler/nativeGen/SPARC/CodeGen/Base.hs +++ b/compiler/nativeGen/SPARC/CodeGen/Base.hs @@ -92,12 +92,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) + Left rr -> RegReal rr + + _ -> pprPanic "SPARC.CodeGen.Base.getRegisterReg: global is in memory" + (ppr $ CmmGlobal mid) -- Expand CmmRegOff. ToDo: should we do it this way around, or convert |