[GHC] #8319: Simplifier ticks exhausted (need -fsimpl-tick-factor=955)
GHC
ghc-devs at haskell.org
Thu Nov 7 14:08:47 UTC 2013
#8319: Simplifier ticks exhausted (need -fsimpl-tick-factor=955)
---------------------------------------+-----------------------------------
Reporter: ruudkoot | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time crash | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
---------------------------------------+-----------------------------------
Comment (by simonpj):
I've found out what is going on. (What follows is an aide-memoire for
me.)
There is a huge function of this form:
{{{
f = \x -> let BIG BIG BIG
in case ... of
p1 -> (# a, b, c, d #)
p2 -> (# a, b, c, d #)
...
p2 -> (# a, b, c, d #)
}}}
As things stand, in `CoreUnfold`, unboxed tuples don't count towards the
size of the express, but DO count towards the result discount. See `Note
[Unboxed tuple size and result discount]`. As a result, functions like
`f` can be very big, but have a massive result discount, and hence can be
inlined like crazy.
This blows up the size of the test program.
The obvious solution is to nuke the discount, but I need check performance
runs carefully. This comment just records my progress.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8319#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list