X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FllvmGen%2FLlvmCodeGen%2FRegs.hs;h=b0c63a4c344b92b3743153fe33f8e9be64b422fd;hb=769f5c90a96742beec5e1870e68b3c7f21d9e573;hp=cc961ccb0dd8461d75fb6c8a9a0b4b56ca4af904;hpb=4738e101938db94cbe8444bc42f59d29b1b815c6;p=ghc-hetmet.git diff --git a/compiler/llvmGen/LlvmCodeGen/Regs.hs b/compiler/llvmGen/LlvmCodeGen/Regs.hs index cc961cc..b0c63a4 100644 --- a/compiler/llvmGen/LlvmCodeGen/Regs.hs +++ b/compiler/llvmGen/LlvmCodeGen/Regs.hs @@ -1,4 +1,5 @@ --- ---------------------------------------------------------------------------- -- | Deal with Cmm registers +-------------------------------------------------------------------------------- +-- | Deal with Cmm registers -- module LlvmCodeGen.Regs ( @@ -15,11 +16,7 @@ import FastString -- | 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 @@ -41,6 +38,8 @@ lmGlobalReg suf reg 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