Cannot build ghc HEAD with LLVM ARM due to globalRegMaybe

Simon Peyton Jones simonpj at microsoft.com
Mon Sep 15 12:17:53 UTC 2014


Is there a Trac ticket too?

Simon

| -----Original Message-----
| From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Moritz
| Angermann
| Sent: 15 September 2014 10:19
| To: ghc-devs at haskell.org
| Subject: Re: Cannot build ghc HEAD with LLVM ARM due to globalRegMaybe
| 
| Hi Janek,
| 
| yea :) I think it went by unnoticed.  Patch is already in Phab,
| 
| https://phabricator.haskell.org/D208
| 
| Not sure how to speed up the review process, though ;-)
| 
| Cheers,
|   Moritz
| 
| On Sep 15, 2014, at 11:13 AM, Jan Stolarek <jan.stolarek at p.lodz.pl>
| wrote:
| 
| > I think it is best to fill in a bug report and attach a patch - I'm
| afraid this mail may have gone
| > unnoticed :-)
| >
| > Janek
| >
| > Dnia piątek, 12 września 2014, Moritz Angermann napisał:
| >> Hi,
| >>
| >> when trying to compile a ghc HEAD on LLVM ARM, I end up getting an
| >> exception:
| >>
| >>    ghc-stage1: panic! (the 'impossible' happened)
| >>      (GHC version 7.9.20140911 for arm-apple-ios):
| >>        globalRegMaybe
| >>
| >> After some digging I found that a new call to globalRegMaybe was
| introduced
| >> here:
| >> http://git.haskell.org/ghc.git/blob/HEAD:/compiler/cmm/CmmSink.hs#l231
| on
| >> 2014-04-29 in commit:
| >>
| http://git.haskell.org/ghc.git/commitdiff/83a003fcaec93dbfd5b46837f2bf335
| 34
| >> 12b9877
| >>
| >> In a similar timeframe (since 2014-05-02) /include/CodeGen.Platform.hs
| was
| >> changed:
| >>
| http://git.haskell.org/ghc.git/blobdiff/b0534f78a73f972e279eed4447a5687bd
| 6a
| >> 8308e..HEAD:/includes/CodeGen.Platform.hs
| >>
| >> introducing a set of new ifdef/elif/endif pairs. Especially for
| >> MACHREGS_NO_REGS, namely:
| >>
| >>    -#endif
| >>     globalRegMaybe _                        = Nothing
| >>    +#elif MACHREGS_NO_REGS
| >>    +globalRegMaybe _ = Nothing
| >>    +#else
| >>    +globalRegMaybe = panic "globalRegMaybe not defined for this
| platform"
| >>    +#endif
| >>
| >> ARM.hs
| >>
| (http://git.haskell.org/ghc.git/blob/23892440032fcab8a6a753916d5068576741
| 69
| >> ec:/compiler/codeGen/CodeGen/Platform/ARM.hs) however, has:
| >>
| >>    #define MACHREGS_NO_REGS 0
| >>    #define MACHREGS_arm 1
| >>
| >> where MACHREGS_arm 1 has no effect on the subsequently imported
| >> CodeGen.Platform.hs.
| >>
| >> Therefore I propose that a change to ARM.hs is made to set
| >> MACHREGS_NO_REGS to 1.
| >>
| >> Cheers,
| >> Moritz
| >> _______________________________________________
| >> ghc-devs mailing list
| >> ghc-devs at haskell.org
| >> http://www.haskell.org/mailman/listinfo/ghc-devs
| >
| >
| 
| _______________________________________________
| ghc-devs mailing list
| ghc-devs at haskell.org
| http://www.haskell.org/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list