Kavin is definitely the right guy to answer this but as he mentioned the Wiki now has a link to the Google Doc, i.e. https://docs.google.com/document/d/1Pn2_TDBJwSBKkjFlT-blwygH10z37TPxIqcKTOOf2mg/edit#. Simon, have you had a chance to read that?
If I understand that doc correctly the original hope of a CPS call intrinsic in LLVM has been abandoned. Excerpts from the doc: First approach -- “CPS call” intrinsic in LLVM ... Current ideas ... CPS call LLVM recently added callbr instruction that looks similar to what we need to get CPS calls to work (the instruction allows to reify the return address as a parameter to a call and specify the successor blocks where the call might jump back to). On Wed, Dec 4, 2019 at 6:16 PM Simon Peyton Jones via ghc-devs < [email protected]> wrote: > 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 <[email protected]> *On Behalf Of *Kavon > Farvardin > *Sent:* 04 December 2019 19:32 > *To:* Ben Gamari <[email protected]> > *Cc:* GHC developers <[email protected]> > *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 <[email protected]> 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 > > > > > > _______________________________________________ > ghc-devs mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
