[GHC] #9583: Simplifier ticks exhausted while compiling Cabal HEAD
GHC
ghc-devs at haskell.org
Tue Sep 23 10:26:32 UTC 2014
#9583: Simplifier ticks exhausted while compiling Cabal HEAD
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: highest | Milestone:
Component: Compiler | Version: 7.9
Resolution: | Keywords:
Operating System: | Architecture: Unknown/Multiple
Unknown/Multiple | Difficulty: Unknown
Type of failure: Compile- | Blocked By:
time crash | Related Tickets:
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by Simon Peyton Jones <simonpj@…>):
In [changeset:"5fa6e75960b3dddbc72c35eb3fc0f2759215dfbb/ghc"]:
{{{
#!CommitTicketReference repository="ghc"
revision="5fa6e75960b3dddbc72c35eb3fc0f2759215dfbb"
Ensure that loop breakers are computed when glomming
This patch fixes Trac #9583, a loop in the simplifier.
I thought this was going to be very complicated but it turned out to
be very simple! The occurrence analyser does something called
"glomming" if the application of imported RULES means that something
that didn't look recursive becomes recursive. See `Note [Glomming]`
in `OccurAnal`. Under these circumstances we group all the top-level
bindings into a single massive `Rec`.
But, crucially, I failed to repeat the occurrence analysis on this
glommed set of bindings. That means that we weren't establishing the
right loop breakers (indeed there were no loop breakers whatsoever),
and that led immediately to the loop. The only surprising this is that
it didn't happen before.
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9583#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list