[llvm-dev] PlaceSafepoints, operand bundles, and RewriteStatepointsForGC
Joseph Tremoulet via llvm-dev
llvm-dev at lists.llvm.org
Wed Jan 27 19:36:15 PST 2016
Also, the code we need for this has now been checked in to LLILC. Good to go.
Thanks
-Joseph
-----Original Message-----
From: Swaroop Sridhar
Sent: Wednesday, January 27, 2016 6:33 PM
To: Pat Gavlin <pagavlin at microsoft.com>; Sanjoy Das <sanjoy at playingwithpointers.com>; llvm-dev <llvm-dev at lists.llvm.org>; Joseph Tremoulet <jotrem at microsoft.com>; Andy Ayers <andya at microsoft.com>; Russell Hadley <rhadley at microsoft.com>; Philip Reames <listmail at philipreames.com>; Manuel Jacob <me at manueljacob.de>
Subject: RE: PlaceSafepoints, operand bundles, and RewriteStatepointsForGC
I agree with Pat too, about making the change.
Using gc-transition bundles on calls is cleaner layering than eagerly emitting statepoint calls.
Swaroop.
> -----Original Message-----
> From: Pat Gavlin
> Sent: Wednesday, January 27, 2016 10:09 AM
> To: Sanjoy Das <sanjoy at playingwithpointers.com>; llvm-dev <llvm-
> dev at lists.llvm.org>; Joseph Tremoulet <jotrem at microsoft.com>; Swaroop
> Sridhar <Swaroop.Sridhar at microsoft.com>; Andy Ayers
> <andya at microsoft.com>; Russell Hadley <rhadley at microsoft.com>; Philip
> Reames <listmail at philipreames.com>; Manuel Jacob <me at manueljacob.de>
> Subject: Re: PlaceSafepoints, operand bundles, and
> RewriteStatepointsForGC
>
> > LLILC should mostly Just Work in
> this new world, with the exception of gc transition operands -- the
> LLILC frontend will have to denote these using "gc-transition" operand
> bundles, and not by eagerly emitting gc.statepoint calls. You should
> be able to test out your changes by passing in -spp-no-statepoints and
> -rs4gc-use-deopt- bundles to the LLVM build used in LLILC.
>
> Thanks for the heads up. Seems straightforward enough to me.
>
> > Please let me know once you're okay with me making the switch to
> -spp-no-statepoints and -rs4gc-use-deopt-bundles being clamped to true.
>
> IMO you can go ahead and make this change. We may be broken against
> ToT for a few days, but AFAIK that shouldn't block other work in
> progress. Joe, feel free to correct me if I'm wrong :)
>
> - Pat
> ________________________________________
> From: Sanjoy Das <sanjoy at playingwithpointers.com>
> Sent: Wednesday, January 27, 2016 9:01 AM
> To: llvm-dev; Joseph Tremoulet; Pat Gavlin; Swaroop Sridhar; Andy
> Ayers; Russell Hadley; Philip Reames; Manuel Jacob
> Subject: PlaceSafepoints, operand bundles, and RewriteStatepointsForGC
>
> [+CC llvm-dev this time]
>
> Hi,
>
> As discussed in the review thread in
> the future plan around statepoints, deopt bundles, PlaceSafepoints
> etc. is to "constant fold" -spp-no-statepoints and -rs4gc-use-deopt-bundles to true.
>
> We (Azul) have moved to a representation of safepoint polls, deopt
> state etc. that enables us to do the above; and at this point I'm
> waiting for an okay from you guys. LLILC should mostly Just Work in
> this new world, with the exception of gc transition operands -- the
> LLILC frontend will have to denote these using "gc-transition" operand
> bundles, and not by eagerly emitting gc.statepoint calls. You should
> be able to test out your changes by passing in -spp-no-statepoints and
> -rs4gc-use-deopt-bundles to the LLVM build used in LLILC.
>
> Please let me know once you're okay with me making the switch to
> -spp-no- statepoints and -rs4gc-use-deopt-bundles being clamped to true.
>
> -- Sanjoy
More information about the llvm-dev
mailing list