[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