Skip to content

Avoid exponential inlining

Simon Peyton Jones requested to merge wip/T13253 into master

This MR fixes several egregious examples in which GHC would create exponentially-large programs from quite small and innocent starting points.

Specifically:

As you'll see from the commit message, we still need to investigate some nofib regressions. But the bad cases are so terribly bad that we probably need some version of this patch in 8.12.

Submitting now for review; and CI especially perf.

NB: this is built on top of !3426 (merged), which is in similar territory, even though the latter has not quite landed.

Edited by Simon Peyton Jones

Merge request reports