[GHC] #12368: Demand Analyzer: Cunnig plan not adhered to with aborting fixpoint interation
GHC
ghc-devs at haskell.org
Thu Aug 25 16:25:07 UTC 2016
#12368: Demand Analyzer: Cunnig plan not adhered to with aborting fixpoint
interation
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner:
Type: bug | Status: patch
Priority: low | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D2392
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Joachim Breitner <mail@…>):
In [changeset:"8d92b88df7c1c04606c8a9e12c1d4bee65c990e4/ghc" 8d92b88/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="8d92b88df7c1c04606c8a9e12c1d4bee65c990e4"
DmdAnal: Add a final, safe iteration
this fixes #12368.
It also refactors dmdFix a bit, removes some redundancies (such as
passing around an strictness signature right next to an id, when that id
is guaranteed to have been annotated with that strictness signature).
Note that when fixed-point iteration does not terminate, we
conservatively delete their strictness signatures (set them to nopSig).
But this loses the information on how its strict free variables are
used!
Lazily used variables already escape via lazy_fvs. We ensure that in the
case of an aborted fixed-point iteration, also the strict variables are
put there (with a conservative demand of topDmd).
Differential Revision: https://phabricator.haskell.org/D2392
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12368#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list