
#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