[GHC] #9020: Massive blowup of code size on trivial program

GHC ghc-devs at haskell.org
Fri Apr 17 12:39:51 UTC 2015


#9020: Massive blowup of code size on trivial program
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                   Owner:
            Type:  bug               |                  Status:  closed
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.8.2
      Resolution:  fixed             |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |  perf/compiler/T9020
                                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by nomeata):

 I might have a different fix for this, that would also avoid implementing
 the strange heuristics in #10319:

 In T9020, the problem is not really that `return ()` is eta-expanded, but
 that it is eta-expaned in a phase where no inlining happens, namely in the
 gentle phase. If we do not eta-expand in this phase (by changing
 `simpl_gently` in `SimplCore`), we can revert to `old_arity    =
 manifestArity` and this program still compiles quickly.

 Doesn’t that look like the cleaner solution?

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


More information about the ghc-tickets mailing list