[GHC] #14672: Make likelyhood of branches/conditions available throughout the compiler.

GHC ghc-devs at haskell.org
Thu May 24 08:33:01 UTC 2018


#14672: Make likelyhood of branches/conditions available throughout the compiler.
-------------------------------------+-------------------------------------
        Reporter:  AndreasK          |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.2.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4316
       Wiki Page:                    |  Phab:D4324 Phab:D4327
-------------------------------------+-------------------------------------

Comment (by AndreasK):

 > - Find a good layout algorithm which can make use of partial
 information. There are descriptions for algorithms which work with full
 information about block entry counts. But Implementing one which works
 well on partial information is something I couldn't find anything on yet.
 Rolling my own is not out of the question but seems like something for a
 few weeks and not a few days.
 > * Chose a design for lowering likelyhood information to the asm level.
 How isn't yet clear. Annotate the instructions? Add information about
 blocks in a sidechannel? It's also not static since things like the
 register allocator also generate new blocks on the fly. Shortcutting might
 remove blocks and so on.
 > * Besides block layout if we lower that information it should also be
 used by the register allocators.

 It wrote up a patch for #15124 (Phab:D4726) which implements a new code
 layout algorithm.

 Putting the implementation for likelyhood detection (Phab:D4327) on top of
 the new layout code lead to runtime improvements of about -0.7%.

 However until I have verified these results on another machine I wouldn't
 consider them actionable.

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


More information about the ghc-tickets mailing list