#5658: Strict bindings are wrongly floated out of case alternatives.
---------------------------------+------------------------------------------
Reporter: benl | Owner: benl
Type: bug | Status: new
Priority: normal | Milestone: 7.4.1
Component: Compiler | Version: 7.2.1
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: Runtime crash
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
Comment(by simonmar):
To be clear, the changes in #4978 were only to GHC's perception of the
''code size'' of a primop, not its runtime cost. It was completely wrong
before, charging as much for the code size of an inline primop (typically
one instruction) as for a lambda (tens of instructions and an info table).
If anything, we're still overcharging for inline primops. But, this is a
delicate area and making any change, whether correct or not, is likely to
upset heuristics elsewhere. Rather than going back to the definitely-
wrong behaviour before, I suggest we find out which heuristics are now
wrong and fix them.
I think you're right about wanting a weaker version of `can_fail`,
incidentally.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5658#comment:13>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs