new llvm IR callbr instruction useful for proc-point splitting?

Simon Peyton Jones simonpj at microsoft.com
Wed Dec 4 22:16:10 UTC 2019


Thanks Kavon.

What news of CpsCall in LLVM?  That seems crucial.

I didn’t know of an effort to use a different SP register.  I seriously doubt that, with GHC’s use of zillions of small, heap-allocated stacks that move around during GHC, we’ll be able to leverage profiling or debugging tools in a serious way. But perhaps I need education.

Simon

From: ghc-devs <ghc-devs-bounces at haskell.org> On Behalf Of Kavon Farvardin
Sent: 04 December 2019 19:32
To: Ben Gamari <ben at smart-cactus.org>
Cc: GHC developers <ghc-devs at haskell.org>
Subject: Re: new llvm IR callbr instruction useful for proc-point splitting?

Hi Ben,

The Wiki now has a link to the Google Doc that Michal and I were working on to compile all of the notes into one place.

The key progress made on this front has been in evaluating the trade-offs of the design space being considered by GHC, but tested within Manticore.

I'm drafting a message today for the LLVM mailing list regarding one of our first options: defining a GHC ABI to redefine which stack-pointer register is used.

Once we have additional answers to the question "how much effort is it to add a GHC ABI to LLVM?", we can then then start a discussion on whether GHC wants to change instead by moving to a native stack-pointer register (to take advantage of existing debugging and profiling tools, etc).

Ideally, we would then make a decision on which option to take and someone (perhaps a GSoC student with mentorship from myself and others) with spare time can work on it.

Cheers,
Kavon

On Wed, 2019-12-04 at 11:38 -0500, Ben Gamari wrote:

Kavon Farvardin <kavon at farvard.in<mailto:kavon at farvard.in>> writes:



Yes, callbr is part of the discussion on removing proc-point splitting!

Soon there will be an announcement about a new working group dedicated to LLVM

issues such as this one on this mailing list. Anyone interested is welcome to

join our meetings.

We're currently gathering our notes together first, but you can have a look here

for a preview:

https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/LLVM-Backend-Optimization



Hi Kavon,



What ever happened to this? It came up during the GHC call and we

realized that none of us knew what the state of the proposal was. Is

this Wiki page still reflective of the current state of play?



Cheers,



- Ben




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20191204/84baf62e/attachment.html>


More information about the ghc-devs mailing list