Displaying 20 results from an estimated 900 matches similar to: "Passing stack pointer to statepoint-gc"
2018 Nov 08
3
Passing stack pointer to statepoint-gc
Sorry, what does "PC" mean here?
________________________________
From: Philip Reames <listmail at philipreames.com>
Sent: Thursday, November 8, 2018 7:27 AM
To: Jordan Rudd; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] Passing stack pointer to statepoint-gc
Jordon,
First of all, StackMaps are keyed by PC, not by SP. Each entry corresponds to given location within the
2018 Nov 08
2
Building GC on statepoint-example
Jordon,
I just submitted a change to the docs to hopefully address your
confusion. Can you take a look and let me know if you have further
questions? Start with the revised Stack Map Format section.
Philip
p.s. I just submitted this and it'll take a few minutes to refresh. In
the meantime, you could look at the diff for 346405.
On 11/2/18 2:52 PM, Jordan Rudd via llvm-dev wrote:
2016 Jan 27
3
PlaceSafepoints, operand bundles, and RewriteStatepointsForGC
[+CC llvm-dev this time]
Hi,
As discussed in the review thread in http://reviews.llvm.org/D16439,
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
2016 Mar 03
2
Status of Garbage Collection with Statepoints in LLVM
Hello LLVM community,
We have been experimenting with using LLVM IR as a target for a managed
(dynamically typed) language via an AOT compiler (including a backend for
ARM). One main challenge is getting the garbage collection right: We would
like to be able to implement a moving collector. This requires us to a)
find a precise set of root pointers and b) be able to rewrite those
pointers after
2018 Nov 01
2
Building GC on statepoint-example
Hi,
I'm trying to build a gc using the statepoint-example strategy. However, after hours of searching, reading documentation and trying to find code examples online, I cannot figure out how to access the Stack Map.
The documentation for statepoint-example says:
The stack map format generated by this GC strategy can be found in the Stack Map
2015 May 25
2
[LLVMdev] GC Statepoint Transition Status?
Hi,
I am looking to utilize LLVM as the backend in an existing compiler for a garbage collected language, and have a question regarding the current and future support for precise GC in LLVM.
It appears that gc.root is being phased out, with with breaking changes such as this: http://reviews.llvm.org/D7004 <http://reviews.llvm.org/D7004>
Does this mean that gc.statepoint is ready for
2016 Mar 04
2
Status of Garbage Collection with Statepoints in LLVM
Hi Martin,
Philip covered all of it very well, I'll just add one minor comment:
> More generally, can I back up and ask an important question? Do you have to
> support deoptimization (i.e. osr side exits) in any form? If you do, you'll
> probably want to avoid the PlaceSafepoints utility pass. If you need to
PlaceSafepoints is inadequate only if you have asynchronous
2015 Jun 17
2
[LLVMdev] design question on inlining through statepoints and patchpoints
The long term plan is a) evolving, and b) dependent on the specific use
case. :)
It would definitely be nice if we could support both early and late
safepoint insertion. I see no reason that LLVM as a project should pick
one or the other since the infrastructure required is largely
overlapping. (Obviously, I'm going to be mostly working on the parts
that I need, but others are always
2015 Oct 15
2
Operand bundles and gc transition arguments
As part of adding `"deopt"` operand bundles, we're aiming to change
RewriteStatepointsForGC (called RS4GC henceforth) from rewriting
existing `gc.statepoint` calls to transforming normal LLVM calls and
invokes into `gc.statepoint` calls and invokes (i.e. to do
PlaceSafepoints + RS4GC in one step). This will make `gc.statepoint`
an artifact of the gc lowering strategy that only
2015 Jun 17
3
[LLVMdev] design question on inlining through statepoints and patchpoints
I've been looking at inlining invokes / calls done through statepoints
and I want to have a design discussion before I sink too much time
into something I'll have to throw away. I'm not actively working on
adding inlining support to patchpoints, but I suspect these issues are
applicable towards teaching LLVM to inline through patchpoints as
well.
There are two distinct problems to
2015 Dec 01
10
[RFC] Intrinsic naming convention (words with dots)
Hi everyone,
We seem to have allowed our documented target-independent intrinsics to acquire a somewhat-haphazard naming system, and I think we should standardize on one convention. All of the intrinsics have 'llvm.' as a prefix, and some also have some additional prefix 'llvm.dbg.', 'llvm.eh.', 'llvm.experimental.', etc., but after that we lose consistency. When
2015 Nov 17
3
llvm.experimental.gc.statepoint genarates wrong Stack Map (or does it?)
Hi, Sanjoy,
On 2015-11-16 23:27, Sanjoy Das wrote:
> Hi Vlad,
>
> vlad via llvm-dev wrote:
>>> Vlad,
>>>
>>> My initial impression is that you've stumbled across a bug. I suspect
>>> that we - the only active users of the deopt info in the statepoint I
>>> know of - have been inverting the meaning of Direct and Indirect
>>>
2015 Nov 16
2
llvm.experimental.gc.statepoint genarates wrong Stack Map (or does it?)
> Vlad,
>
> My initial impression is that you've stumbled across a bug. I suspect
> that we - the only active users of the deopt info in the statepoint I
> know of - have been inverting the meaning of Direct and Indirect
> throughout our code. (i.e. we're consistent, but swapped on the
> documented meaning) I've asked Sanjoy to confirm that, and if he
>
2015 Feb 19
2
[LLVMdev] Beginner GCRoot Questions
Hello,
I've spent some time with the LLVM documentation and am beginning to grasp
a few things, but I sometimes need very literal statements to actually
understand things.
My first question is about StackMaps:
Is it true that llvm_gc_root_chain is an API? I've been trying to
understand how exactly one accesses this structure and no where in the
documentation does it mention this is a
2015 Nov 13
2
llvm.experimental.gc.statepoint genarates wrong Stack Map (or does it?)
Hello, list
I am not quite sure if what I'm experiencing is a bug or intentional
behavior.
In the code below the result of a function call is a deopt arg to
llvm.experimental.gc.statepoint
(http://llvm.org/docs/Statepoints.html#llvm-experimental-gc-statepoint-intrinsic).
Therefore a Stack Map containing location of this variable is created
upon code generation.
Here's the complete
2017 Jan 31
2
llvm.read_register for %RIP on x86_64
On Thu, Jan 26, 2017 at 1:45 AM, Renato Golin <renato.golin at linaro.org>
wrote:
> On 26 January 2017 at 00:08, Kostya Serebryany via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > I want implement an instrumentation that gets the current PC.
> > On x86_64 I can do it using inline asm (something like "lea (%%rip),%0"),
> > but I wonder if there
2017 Jan 31
0
llvm.read_register for %RIP on x86_64
On 31 Jan 2017 8:58 p.m., "Kostya Serebryany" <kcc at google.com> wrote:
hmm. I am not sure I understood you. The last two paragraphs seem to
contradict each other.
So, you recommend to extend read_register to read the PC, or
"read_register is locked at the stack pointer as a design decision"?
Both. :-)
There was a design decision to only support SP because we had no
2017 Jan 26
0
llvm.read_register for %RIP on x86_64
On 26 January 2017 at 00:08, Kostya Serebryany via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> I want implement an instrumentation that gets the current PC.
> On x86_64 I can do it using inline asm (something like "lea (%%rip),%0"),
> but I wonder if there is some more LLVM-ish way to do it, e.g. an intrinsic?
Hi Kostya,
I'd also want something that GCC
2014 Mar 27
4
[LLVMdev] Named register variables GNU-style
On 27 March 2014 15:30, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
> For global ones, it should also codegen every non inline asm to use an
> llvm intrinsic (llvm.read_register/llvm.write_register for example).
That's my idea, yes. I'm not sure how Clang would transform the named
registers into the intrinsic, but something along the lines of:
i8* @SP =
2017 Jan 31
2
llvm.read_register for %RIP on x86_64
On Tue, Jan 31, 2017 at 3:11 PM, Renato Golin <renato.golin at linaro.org>
wrote:
> On 31 Jan 2017 8:58 p.m., "Kostya Serebryany" <kcc at google.com> wrote:
>
> hmm. I am not sure I understood you. The last two paragraphs seem to
> contradict each other.
> So, you recommend to extend read_register to read the PC, or
> "read_register is locked at the