Lines Matching refs:statepoint
72 term "statepoint" as used in this document refers exclusively to the
99 unrelocated value after a statepoint. This prevents the optimizer
102 associated with) for each statepoint.
115 <statepoint-utilities>` described below.
118 intrinsic calls known collectively as a "statepoint relocation sequence".
125 gc "statepoint-example" {
144 gc "statepoint-example" {
145 …%0 = call i32 (void ()*, i32, i32, ...)* @llvm.experimental.gc.statepoint.p0f_isVoidf(void ()* @fo…
156 Instead, the statepoint intrinsic marks the actual site of the
157 safepoint or statepoint. The statepoint returns a token value (which
162 tied to the statepoint. The combination forms a "statepoint relocation
163 sequence" and represents the entitety of a parseable call or 'statepoint'.
216 'llvm.experimental.gc.statepoint' Intrinsic
225 @llvm.experimental.gc.statepoint(func_type <target>,
234 The statepoint intrinsic represents a call which is parse-able by the
277 A statepoint is assumed to read and write all memory. As a result,
278 memory operations can not be reordered past a statepoint. It is
279 illegal to mark a statepoint as being either 'readonly' or 'readnone'.
282 pointer' argument of the statepoint in a location statically reachable
283 from the statepoint. Instead, the explicitly relocated value (from a
301 which was replaced by the ``gc.statepoint``. The ``gc.result``
309 The first and only argument is the ``gc.statepoint`` which starts
312 by a ``gc.statepoint`` is legal here.
318 the ``statepoint``. The type of the ``gc.result`` must exactly match
324 previous call represented by the ``gc.statepoint``.
348 The first argument is the ``gc.statepoint`` which starts the
351 by a ``gc.statepoint`` is legal here.
356 statepoint's argument list.
358 The third argument is an index into the statepoint's list of arguments
362 within the 'gc parameter' section of the statepoint's argument list.
370 ``gc.statepoint`` other than that a) it points to the same source
378 done during the actual call modeled by the ``gc.statepoint``.
389 Each statepoint generates the following Locations:
394 the IR statepoint (same number as described by previous Constant)
400 statepoint. There may be fewer pairs then gc parameters in the IR
401 statepoint. Each *unique* pair will occur at least once; duplicates
408 The ID field of the 'StkMapRecord' for a statepoint is meaningless and
411 The LiveOut section of the StkMapRecord will be empty for a statepoint
463 ``gc.statepoint`` (with an optional ``gc.result``) with a full relocation
473 gc "statepoint-example" {
474 …call i32 (void ()*, i32, i32, ...)* @llvm.experimental.gc.statepoint.p0f_isVoidf(void ()* @foo, i3…
483 gc "statepoint-example" {
484 …%0 = call i32 (void ()*, i32, i32, ...)* @llvm.experimental.gc.statepoint.p0f_isVoidf(void ()* @fo…
490 that the ``statepoint-example`` GC strategy uses to distinguish references from
512 invoke instructions with appropriate ``gc.statepoint`` and ``gc.result`` pairs,
521 define void @test() gc "statepoint-example" {
537 define void @test() gc "statepoint-example" {
538 …%safepoint_token = call i32 (void ()*, i32, i32, ...)* @llvm.experimental.gc.statepoint.p0f_isVoid…
539 …%safepoint_token1 = call i32 (void ()*, i32, i32, ...)* @llvm.experimental.gc.statepoint.p0f_isVoi…
543 …unconditional) entry safepoint poll and converted the call into a ``gc.statepoint``. Note that de…