[GHC] #14068: Loopification using join points

GHC ghc-devs at haskell.org
Thu Mar 22 14:33:30 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):

 More data. #14951 fixes some regressions that loopification introduces:
 {{{
 name                     previous    change    now
 nofib/allocs/last-piece  642047800  - 11.08%    570920968  bytes
 nofib/allocs/x2n1           697240  - 45.89%       377272  bytes
 }}}
 But it does not fix all the regressions that can be fixed by running
 !SpecConstr twice (with simplification in between):
 {{{
 Benchmark                 previous  change     now
 nofib/allocs/constraints  20491632       -      3.63%    19747392   bytes
 nofib/allocs/event        129682800      +      8.44%    140626888  bytes
 nofib/allocs/fulsom       243329208      -      7.83%    224287496  bytes
 nofib/allocs/integer      40633632       -      3.06%    39389560   bytes
 nofib/allocs/last-piece   642047800      -     11.49%    568297080  bytes
 nofib/allocs/mandel2      1649568        -     26.78%    1207888    bytes
 nofib/allocs/minimax      5371584        -      8.73%    4902576    bytes
 nofib/allocs/parstof      3023208        -      3.7%     2911384    bytes
 nofib/allocs/x2n1         697240         -     45.89%    377272     bytes
 }}}
 Which raises the question: Should we just go the easy route and run
 !SpecConstr twice? (I
  am measuring the effect of that on master, independent of loopification,
 in branch `wip/T14951-blunt`.)

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14068#comment:47>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list