
#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