[PlaceSafepoints] New attributes for patchable statepoints.
authorSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 13 May 2015 20:11:31 +0000 (20:11 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 13 May 2015 20:11:31 +0000 (20:11 +0000)
commit3f0ca03e94fbff0635c90825cd4de9e683868b11
treec39235a7bb055792f08ebbdc1214bd994fd5f95d
parent7569db4a8cfd0bf78c47ac1675583b0c7ae01bd3
[PlaceSafepoints] New attributes for patchable statepoints.

Summary:
This patch teaches the PlaceSafepoints pass about two `CallSite`
function attributes:

 * "statepoint-id": if the string value of this attribute can be parsed
   as an integer, then it is propagated to the ID parameter of the
   statepoint created.

 * "statepoint-num-patch-bytes": if the string value of this attribute
   can be parsed as an integer, then it is propagated to the `num patch
   bytes` parameter of the statepoint created.

This change intentionally does not assert on a malformed value for these
attributes, given that they're not "official" attributes.

Reviewers: reames, pgavlin

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9735

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237286 91177308-0d34-0410-b5e6-96231b3b80d8
docs/Statepoints.rst
lib/Transforms/Scalar/PlaceSafepoints.cpp
test/Transforms/PlaceSafepoints/patchable-statepoints.ll [new file with mode: 0644]