--- ---------------------------------------------------------------------------- -- | Deal with Cmm registers
+--------------------------------------------------------------------------------
+-- | Deal with Cmm registers
--
module LlvmCodeGen.Regs (
-- | Get the LlvmVar function variable storing the real register
lmGlobalRegVar :: GlobalReg -> LlvmVar
-lmGlobalRegVar reg
- = let reg' = lmGlobalReg "_Var" reg
- in if (isPointer . getVarType) reg'
- then reg'
- else pVarLift reg'
+lmGlobalRegVar = (pVarLift . lmGlobalReg "_Var")
-- | Get the LlvmVar function argument storing the real register
lmGlobalRegArg :: GlobalReg -> LlvmVar
VanillaReg 4 _ -> wordGlobal $ "R4" ++ suf
VanillaReg 5 _ -> wordGlobal $ "R5" ++ suf
VanillaReg 6 _ -> wordGlobal $ "R6" ++ suf
+ VanillaReg 7 _ -> wordGlobal $ "R7" ++ suf
+ VanillaReg 8 _ -> wordGlobal $ "R8" ++ suf
SpLim -> wordGlobal $ "SpLim" ++ suf
FloatReg 1 -> floatGlobal $"F1" ++ suf
FloatReg 2 -> floatGlobal $"F2" ++ suf