[GHC] #14068: Loopification using join points
GHC
ghc-devs at haskell.org
Fri May 11 14:34:35 UTC 2018
#14068: Loopification using join points
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner: nomeata
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #13966 #14067 | Differential Rev(s): Phab:D3811
#14827 |
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by nomeata):
Status update for those who understandably don’t want to read the whole
thread:
There is working code for loopification on `wip/T14068`. If one disables
!SpecConstr and compares this branch to master, then there is only one
allocation regression (in `queens`, not investigated). However, with
!SpecConstr (i.e. the default), many nofib tests regress.
I have paused working on loopification until we have improved SpecConstr
to yield equivalently good results for the loopified code. Relevant
tickets are #14844 (!SpecConstr should also apply to top-level non-
recursive bindings) and #14951 (!SpecConstr is not idempotent; in other
words: a stack of deeply nested functions do not get specialized in one
go). If these were fixed we would get rid of some of the !SpecConstr
related regressions introduced by loopification – but still not all of
them, I fear, and there will be more to be tracked down.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14068#comment:55>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list