[GHC] #13027: The let/app invariant, evaluated-ness, and reallyUnsafePtrEquality#
GHC
ghc-devs at haskell.org
Fri Jan 13 09:02:55 UTC 2017
#13027: The let/app invariant, evaluated-ness, and reallyUnsafePtrEquality#
-------------------------------------+-------------------------------------
Reporter: erikd | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Building GHC | Test Case:
failed | simplCore/should_compile/T13027
Blocked By: | Blocking:
Related Tickets: #11444 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Simon Peyton Jones <simonpj@…>):
In [changeset:"6b976eb89fe72827f226506d16d3721ba4e28bab/ghc"
6b976eb8/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="6b976eb89fe72827f226506d16d3721ba4e28bab"
Record evaluated-ness on workers and wrappers
In Trac #13027, comment:20, I noticed that wrappers created after
demand analysis weren't recording the evaluated-ness of strict
constructor arguments. In the ticket that led to a (debatable)
Lint error but in general the more we know about evaluated-ness
the better we can optimise.
This commit adds that info both in the worker (on args) and in
the wrapper (on CPR result patterns).
See Note [Record evaluated-ness in worker/wrapper] in WwLib
On the way I defined Id.setCaseBndrEvald, and used it to shorten
the code in a few other places
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13027#comment:28>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list