This is an archive of the discontinued LLVM Phabricator instance.

[Statepoints] Let patchable statepoints have a symbolic call target.
ClosedPublic

Authored by sanjoy on Jul 27 2015, 7:43 PM.

Details

Summary

As added initially, statepoints required their call targets to be a
constant pointer null if `numPatchBytes` was non-zero. This turns out
to be a ergonomic problem, since there is no way to mark patchable
statepoints as calling a readable symbolic value.

This change remove the restriction of requiring `null` call targets
for patchable statepoints, and changes PlaceSafepoints to maintain the
symbolic call target through its transformation.

Diff Detail

Repository
rL LLVM

Event Timeline

sanjoy updated this revision to Diff 30775.Jul 27 2015, 7:43 PM
sanjoy retitled this revision from to [Statepoints] Let patchable statepoints have a symbolic call target..
sanjoy updated this object.
sanjoy added reviewers: reames, swaroop.sridhar.
sanjoy added a subscriber: llvm-commits.
swaroop.sridhar accepted this revision.Jul 28 2015, 1:00 PM
swaroop.sridhar edited edge metadata.
This revision is now accepted and ready to land.Jul 28 2015, 1:00 PM
sanjoy updated this revision to Diff 30875.Jul 28 2015, 4:32 PM
sanjoy edited edge metadata.
  • clarify doc
This revision was automatically updated to reflect the committed changes.
llvm/trunk/lib/Transforms/Scalar/PlaceSafepoints.cpp