[PATCH] make UNREG build as a platform with 0 hardware registers

From: Sergei Trofimovich

Ticket #9055 has a patch that uses the MACHREGS_NO_REGS macro coming from compiler/codeGen/Platform/NoRegs.hs. I think globalRegMaybe should depend on the target platform of the code to be generated and not on the host platform. Using the NO_REGS macro does the latter. I am thinking of cross-compilation here, but I might be missing something major. Peter On 01 May 2014, at 12:03, slyich@gmail.com wrote:
From: Sergei Trofimovich
83a003fcaec93dbfd5b46837f2bf3353412b9877 introduced optimization which likes to know if a reg is a hardware reg via 'globalRegMaybe':
But --enable-unregisterised does not define that function:
ghc-stage1: panic! (the 'impossible' happened) (GHC version 7.9.20140419 for x86_64-unknown-linux): globalRegMaybe not defined for this platform
CC: Simon Marlow
Signed-off-by: Sergei Trofimovich --- includes/CodeGen.Platform.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs index 3d6dd41..1e7c17d 100644 --- a/includes/CodeGen.Platform.hs +++ b/includes/CodeGen.Platform.hs @@ -743,7 +743,11 @@ globalRegMaybe CurrentNursery = Just (RealRegSingle REG_CurrentNursery # endif globalRegMaybe _ = Nothing #else +# ifdef NO_REGS +globalRegMaybe _ = Nothing +# else globalRegMaybe = panic "globalRegMaybe not defined for this platform" +# endif /* !NO_REGS */ #endif
freeReg :: RegNo -> FastBool -- 1.9.2
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
participants (2)
-
Peter Trommler
-
slyich@gmail.com