[PATCH] D80892: Remove deopt and gc transition arguments from gc.statepoint intrinsic

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 31 11:26:12 PDT 2020


reames created this revision.
reames added reviewers: anna, skalinichev, dantrushin.
Herald added subscribers: bollu, hiraditya, mcrosier.
Herald added a project: LLVM.

In a recent series of changes, I've introduced support for using the respective operand bundle kinds on the statepoint.  At the moment, code supports either/or, but there's no need to keep the old support around.  For the moment, I am simply changing the specification and verifier to require zero length argument sets in the intrinsic.

The intrinsic itself is experimental.  Given that, there's no forward serialization needed.  The in tree uses and generation have already been updated to use the new operand bundle based forms, the only folks broken by the change will be those with frontends generating statepoints directly and the updates should be easy.

Why not go ahead and just remove the arguments entirely?  Well, I plan to.  But while working on this I've found that almost all of the arguments to the statepoint can be expressed via operand bundles or attributes.  Given that, I'm planning a radical simplification of the arguments and figured I'd do one update not several small ones.

While I'm posting this for review now, I do not plan to land for about 2 weeks.  I want all the previous changes to have plenty of time to work through downstream test cycles before I make the transition hard to reverse.  At the moment, I'd only need to revert one patch and I want to keep it that way for a bit longer.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D80892

Files:
  llvm/docs/LangRef.rst
  llvm/docs/Statepoints.rst
  llvm/lib/IR/Verifier.cpp
  llvm/test/Verifier/statepoint.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80892.267510.patch
Type: text/x-patch
Size: 10225 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200531/8c439c31/attachment.bin>


More information about the llvm-commits mailing list