[GHC] #14338: Simplifier fails with "Simplifier ticks exhausted"
GHC
ghc-devs at haskell.org
Mon Oct 30 21:55:59 UTC 2017
#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):
So I augmented the `-ddump-simpl-stats` output to show the types of the
named binders. Here I'll be looking at the N=9 case, since this
demonstrates the problem clearly.
In the case of the the `PreInlineUnconditionally` ticks, the high-count
binders are all of one of the following forms
{{{
505 w_i4Ig :: ('TypeFun.Data.Peano.S
i_i4Ia :: TypeFun.Data.Peano.N)
Data.Type.Equality.~ (TypeFun.Data.List.IndexOf
e1_i4Ib (ex_i4Ic : els1_i4Id) ::
TypeFun.Data.Peano.N)
503 w2_i4HF :: Data.HSet.HModify
els1_i4HA els2_i4HC e1_i4Hy e2_i4HB i_i4Hx
503 w3_i4HG :: TypeFun.Data.List.NotElem ex_i4Hz els2_i4HC
}}}
There are ten binders in this list, each with either 505 or 503 ticks
credited.
The beta-reduced binders are all type variables of one of the following
forms
{{{
505 i_i4Ia :: TypeFun.Data.Peano.N
505 e1_i4Ib :: *
505 els1_i4Id :: [*]
505 w_i4Ig :: ('TypeFun.Data.Peano.S
i_i4Ia :: TypeFun.Data.Peano.N)
Data.Type.Equality.~ (TypeFun.Data.List.IndexOf
e1_i4Ib (ex_i4Ic : els1_i4Id) ::
TypeFun.Data.Peano.N)}}}
505 w2_i4Ii :: Data.HSet.HModify
els1_i4Id els2_i4If e1_i4Ib e2_i4Ie i_i4Ia
}}}
there are a few dozen of these, each with either 505 or 503 credited
ticks.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14338#comment:23>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list