[GHC] #14068: Loopification using join points

GHC ghc-devs at haskell.org
Wed Mar 21 15:39:46 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):

 And, to add numbers to this: Running !SpecConstr on top-level non-
 recursive functions and running it twice (with simplification in between)
 improves `x2n1` allocations by 45%, compared to just loopification, and
 fixes some of the other regressions:
 https://perf.haskell.org/ghc/#compare/9245c4bbc2156b3b84f253c97cc2ee8bd8b7dd98/0f1fee6be3df20837543ede7223a827abb6a4759.

 [https://perf.haskell.org/ghc/#compare/abaf43d9d88d6fdf7345b936a571d17cfe1fa140/0f1fee6be3df20837543ede7223a827abb6a4759
 Overall], the whole branch has a few promising improvements of ~7%, but
 also still some egregious regressions that need to be tracked down
 (`queens` +240%). And it is of course not immediately clear which of the
 improvements are due to loopification, and which are independent of
 loopification and due to the changes to !SpecConstr. But in any ways we
 need to conclude the !SpecConstr story first and see what, if anything at
 all, we want to change there.

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


More information about the ghc-tickets mailing list