[GHC] #5433: Compiler generates invalid assembly with "bad register name"
GHC
cvs-ghc at haskell.org
Thu Oct 6 14:40:44 CEST 2011
#5433: Compiler generates invalid assembly with "bad register name"
---------------------------------+------------------------------------------
Reporter: bos | Owner: simonmar
Type: bug | Status: new
Priority: highest | Milestone: 7.4.1
Component: Compiler | Version: 7.2.1
Keywords: | Testcase:
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: x86 | Failure: Compile-time crash
---------------------------------+------------------------------------------
Comment(by marlowsd@…):
commit 3572c11958bf77e0797a190efab68cf80895f2ac
{{{
Author: Simon Marlow <marlowsd at gmail.com>
Date: Thu Oct 6 11:57:52 2011 +0100
Use a custom dead-code analyser instead of calling the occurrence
analyser.
In CorePrep we used to call the occurrence analyser to drop dead code
(see Note [Dead code in CorePrep]), but the occurrence analyser
sometimes introduces new let bindings for case binders. This was
leading to the bug in #5433: the let binding introduced was for an
unlifted value, and the code generator is not expecting to see let
bindings of unlifted values (CorePrep is supposed to eliminate them).
We don't want this let binding anyway, so instead of using the
occurrence analyser here we have a simple custom dead-code analyser.
compiler/coreSyn/CorePrep.lhs | 90
+++++++++++++++++++++++++++++++++-------
1 files changed, 74 insertions(+), 16 deletions(-)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5433#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list