summaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2021-06-22 23:04:43 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2021-07-27 17:52:07 +0100
commite8003e6d0c51f32a41c12f4047405e2355447290 (patch)
tree59dd3c41f44982fd81ec9caaee206fe1b0c1f3df /libffi
parente18084960888e18d5b581f0f04ae6fb7ebd0d974 (diff)
downloadhaskell-e8003e6d0c51f32a41c12f4047405e2355447290.tar.gz
Improve performance of eta expansion
Eta expansion was taking ages on T18223. This patch * Aggressively squash reflexive casts in etaInfoApp. See Note [Check for reflexive casts in eta expansion] These changes decreased compile-time allocation by 80%! * Passes the Simplifier's in-scope set to etaExpandAT, so we don't need to recompute it. (This alone saved 10% of compile time.) Annoyingly several functions in the Simplifier (namely makeTrivialBinding and friends) need to get SimplEnv, rather than SimplMode, but that is no big deal. Lots of small changes in compile-time allocation, less than 1% and in both directions. A couple of bigger changes, including the rather delicate T18223 T12425(optasm) ghc/alloc 98448216.0 97121224.0 -1.3% GOOD T18223(normal) ghc/alloc 5454689676.0 1138238008.0 -79.1% GOOD Metric Decrease: T12425 T18223
Diffstat (limited to 'libffi')
0 files changed, 0 insertions, 0 deletions