
#14338: Simplifier fails with "Simplifier ticks exhausted" -------------------------------------+------------------------------------- Reporter: dredozubov | Owner: bgamari Type: bug | Status: new Priority: high | Milestone: 8.4.1 Component: Compiler | Version: 8.2.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): Indeed dropping coercions won't fix the simplifier ticks issue. Nevertheless, I thought it would be important to characterise the coercion issue since this is one of the simplest reproducers of non-linear coercion growth to-date. The major contributors to the ticks summary look like this, ||= N =||= PreInlineUncond =||= RuleFired =||= BetaReduction =||= Total =|| || 1 || 244 || 247 || 724 || 1772 || || 2 || 262 || 284 || 811 || 1940 || || 3 || 309 || 354 || 992 || 2295 || || 4 || 396 || 481 || 1343 || 2963 || || 5 || 569 || 713 || 2016 || 4227 || || 6 || 907 || 1146 || 3317 || 6653 || || 7 || 1561 || 1972 || 5848 || 11343 || || 8 || 2860 || 3575 || 10831 || 20555 || || 9 || 5444 || 6723 || 20696 || 38765 || In the case of `N=9` the most frequently-firing rules are, {{{ 6723 RuleFired 4348 Class op HEq_sc 1029 Class op $p1HModify 1029 Class op $p2HModify 114 Class op $p1HGet ... }}} The top `PreInlineUnconditionally` targets are, {{{ 5444 PreInlineUnconditionally 505 w 505 w 503 w 503 w1 503 w2 503 w3 503 w 503 w1 503 w2 503 w3 86 $dHGet ... }}} And the top beta reduction targets are, {{{ 20696 BetaReduction 505 i 505 e1 505 ex 505 els1 505 e2 505 els2 505 w 505 w1 505 w2 505 i 505 e1 505 ex 505 els1 505 e2 505 els2 505 w 505 w1 505 w2 503 i 503 e1 503 ex 503 els1 503 e2 503 els2 503 w 503 w1 503 w2 503 w3 503 i 503 e1 503 ex 503 els1 503 e2 503 els2 503 w 503 w1 503 w2 503 w3 86 i ... }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14338#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler