[GHC] #10527: Panic Simplifier ticks exhausted with type families

GHC ghc-devs at haskell.org
Thu Jun 25 16:12:14 UTC 2015


#10527: Panic Simplifier ticks exhausted with type families
-------------------------------------+-------------------------------------
        Reporter:  sopvop            |                   Owner:  bgamari
            Type:  bug               |                  Status:  new
        Priority:  highest           |               Milestone:  7.10.2
       Component:  Compiler          |                 Version:  7.10.1-rc1
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by bgamari):

 I am still churning through this one but I think I finally have some
 traction. In 7.10.2 each field added to the records roughly doubles the
 `simpl-tick-factor` necessary to finish.

 I am now comparing the sequences of inlinings performed by GHC 7.10.1 and
 7.10.2. For those following along at home, it is enlightening (albeit
 verbose) to compile like this,

 {{{
 ghc -fforce-recomp -O -dverbose-core2core -ddump-simpl -ddump-to-file
 -dshow-passes -ddump-simpl-stats -ddump-inlinings Bug.hs -fsimpl-tick-
 factor=100 >|ghc.log 2>&1
 }}}

 Out pops a few hundred megabytes of text, but you now you have what you
 need.

 You can then easily compare two of these dumps with,

 {{{
 paste <(grep -n "Inlining done" 7.10.1/ghc.log) <(grep -n "Inlining done"
 7.10.2/ghc.log) | column -s $'\t' -t | less
 }}}

 One notices certain patterns in this output. In particular, one finds
 inlinings of `Inlining done: Data.Functor.Identity.$fFoldableIdentity2`
 are done far more often in 7.10.1 than 7.10.2.

 More analysis later.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10527#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list