[llvm] r257843 - [docs] Update Statepoint docs to clarify format for recent changes
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 14 15:58:19 PST 2016
Author: reames
Date: Thu Jan 14 17:58:18 2016
New Revision: 257843
URL: http://llvm.org/viewvc/llvm-project?rev=257843&view=rev
Log:
[docs] Update Statepoint docs to clarify format for recent changes
Modified:
llvm/trunk/docs/Statepoints.rst
Modified: llvm/trunk/docs/Statepoints.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/Statepoints.rst?rev=257843&r1=257842&r2=257843&view=diff
==============================================================================
--- llvm/trunk/docs/Statepoints.rst (original)
+++ llvm/trunk/docs/Statepoints.rst Thu Jan 14 17:58:18 2016
@@ -566,15 +566,25 @@ Each statepoint generates the following
* Constant which describes number of following deopt *Locations* (not
operands)
* Variable number of Locations, one for each deopt parameter listed in
- the IR statepoint (same number as described by previous Constant)
-* Variable number of Locations pairs, one pair for each unique pointer
- which needs relocated. The first Location in each pair describes
- the base pointer for the object. The second is the derived pointer
- actually being relocated. It is guaranteed that the base pointer
+ the IR statepoint (same number as described by previous Constant). At
+ the moment, only deopt parameters with a bitwidth of 64 bits or less
+ are supported. Values of a type larger than 64 bits can be specified
+ and reported only if a) the value is constant at the call site, and b)
+ the constant can be represented with less than 64 bits (assuming zero
+ extension to the original bitwidth).
+* Variable number of Locations pairs, one pair for each pointer or vector
+ of pointers which needs relocated. The first Location in each pair
+ describes the base pointer for the object. The second is the derived
+ pointer actually being relocated. It is guaranteed that the base pointer
must also appear explicitly as a relocation pair if used after the
statepoint. There may be fewer pairs then gc parameters in the IR
statepoint. Each *unique* pair will occur at least once; duplicates
- are possible.
+ are possible. Location pairs may either be of pointer size, in
+ which case they describe a single pointer being relocated and its
+ base, or a multiple of pointer size. In the later case, the Location
+ must be interpreted as describing a sequence of pointers and their
+ corresponding base pointers. Both Locations in a pair can be assumed
+ to be of the same size.
Note that the Locations used in each section may describe the same
physical location. e.g. A stack slot may appear as a deopt location,
More information about the llvm-commits
mailing list