The mighty simplifier

This page summarises the state of play for GHC's simplifier, including inlining heuristics.


Use Keyword = Simplifier to ensure that a ticket ends up on these lists.

Open Tickets:

Exceptions are optimized away in certain situations
Local wrapper function remains in final program; result = extra closure allocation
Simplifier ticks exhausted: a 10-line case
test dynamic-paper for way profasm fails with Simplifier ticks exhausted
Change in specialisation(?) behaviour since 8.0.2 causes 6x slowdown
Wrappers inlined too late
Performance regression in for_ alternatives from GHC 8.2.2 to newer GHCs
OccurAnal should not break the linter assumptions

Closed Tickets:

-dcore-lint error after simplifier iteration 1 when profiling
-dcore-lint error in simplifier phase 0 when profiling
ghc "Simplifier ticks exhausted" "When trying UnfoldingDone"
panic! compiling Y combinator with optimizations
Core Lint error: Occurrence is GlobalId, but binding is LocalId

Last modified 9 months ago Last modified on Jan 18, 2019 10:13:31 AM