[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