[GHC] #9476: Implement late lambda-lifting
GHC
ghc-devs at haskell.org
Fri Sep 7 11:34:04 UTC 2018
#9476: Implement late lambda-lifting
-------------------------------------+-------------------------------------
Reporter: simonpj | Owner: sgraf
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.2
Resolution: | Keywords: LateLamLift
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #8763 #13286 | Differential Rev(s):
Wiki Page: LateLamLift |
-------------------------------------+-------------------------------------
Comment (by sgraf):
The allocation heuristic
(https://github.com/sgraf812/ghc/blob/9b9260c1d45d127edf9ebdfe04a3daaff24a9dea/compiler/simplStg/StgLiftLams/Analysis.hs#L235)
tries to estimate closure growth and only allows the lift if it can
guarantee that there are no regressions.
I think this is quite essential to identify beneficial lifts, as well as
non-trivial to implement. The whole `Analysis` module linked above mostly
revolves around computing this `costToLift`
https://github.com/sgraf812/ghc/blob/9b9260c1d45d127edf9ebdfe04a3daaff24a9dea/compiler/simplStg/StgLiftLams/Analysis.hs#L375.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9476#comment:36>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list