On 16/11/13 00:16, Simon Peyton-Jones wrote:
I’ve looked into this myself. I don’t think it’s actually anything
wrong in gmp-wrappers. It’s because CmmBuildInfoTables expects all the
info tables in the (CmmProc info_tbls lbl g) to be defined in the graph g.
But Jan’s new optimisation to the stack overflow check (Note [Always
false stack check] in CmmLayoutStack) ends up dropping a conditional
branch, so a call to gc is eliminated, and hence a proc point is
eliminated, and we end up with an unused thing in info_tbls, which
confuses CmmBuildInfoTables
Sigh. I don’t know why this only happens on Windows. I’m looking into a fix
Perhaps this is a problem that only shows up with proc points, which is
why you wouldn't see it on x86_64/Linux. Let me know if you get stuck
and I'll try to look into it.
FYI eliminating always-false stack checks is not new, it was temporarily
broken by:
commit 94125c97e49987e91fa54da6c86bc6d17417f5cf
Author: Jan Stolarek <jan.stola...@p.lodz.pl>
Date: Wed Oct 16 09:45:56 2013 +0200
Generate (old + 0) instead of Sp in stack checks
and then fixed up by:
commit 1cf0c8ad321d1d358cbec46d35be02566faf2d00
Author: Jan Stolarek <jan.stola...@p.lodz.pl>
Date: Thu Oct 17 23:17:06 2013 +0200
Optimise stack checks that are always false
Cheers,
Simon
Simon
*From:*Simon Peyton-Jones
*Sent:* 15 November 2013 22:18
*To:* ghc-devs@haskell.org
*Subject:* bundle panic
Windows build is failing again in a new way. It was fine a couple of
days ago. Does this ring any bells?
ghc-stage1.exe: panic! (the 'impossible' happened)
(GHC version 7.7.20131107 for i386-unknown-mingw32):
bundle
Simon
"inplace/bin/ghc-stage1.exe" -static -H32m -O -Werror -Wall -H64m
-O0 -package-name integer-gmp-0.5.1.0 -hide-all-packages -i
-ilibraries/integer-gmp/. -ilibraries/integer-gmp/dist-install/build
-ilibraries/integer-gmp/dist-install/build/autogen
-Ilibraries/integer-gmp/dist-install/build
-Ilibraries/integer-gmp/dist-install/build/autogen
-Ilibraries/integer-gmp/. -optP-include
-optPlibraries/integer-gmp/dist-install/build/autogen/cabal_macros.h
-package ghc-prim-0.3.1.0 -Wall -package-name integer-gmp -XHaskell2010
-dcore-lint -no-user-package-db -rtsopts
-Ilibraries/integer-gmp/mkGmpDerivedConstants/dist -c
libraries/integer-gmp/cbits/gmp-wrappers.cmm -o
libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers.o
ghc-stage1.exe: panic! (the 'impossible' happened)
(GHC version 7.7.20131107 for i386-unknown-mingw32):
bundle
c8 integer_cmm_importIntegerFromByteArrayzh [(c8,
label: block{v c8}_info
rep:StackRep [False,
True, True, True]),
(cg,
label: block{v cg}_info
rep:StackRep [False,
True, True, True])]
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
HEAD (master)$
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs