[PATCH] D13372: [RewriteStatepointsForGC] Use "deopt" operand bundles

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 1 18:37:33 PDT 2015


sanjoy created this revision.
sanjoy added reviewers: reames, swaroop.sridhar.
sanjoy added a subscriber: llvm-commits.
Herald added a subscriber: sanjoy.

[Note: I'm still working on tests for code added in this change, and so
this patch is still WIP]

This is a step towards using operand bundles to carry deopt state till
RewriteStatepointsForGC.  The change adds a flag to
RewriteStatepointsForGC that teaches it to pick up deopt state from a
`"deopt"` operand bundle attached to the `call` or `invoke` it is
wrapping.

The command line flag added, `-rs4gc-use-deopt-bundles`, will only exist
for a short while.  Once we are able to pipe deopt bundle state through
the full optimization pipeline without problems, we will "constant fold"
`-rs4gc-use-deopt-bundles` to `true`.

http://reviews.llvm.org/D13372

Files:
  include/llvm/IR/Statepoint.h
  lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  test/Transforms/RewriteStatepointsForGC/deopt-bundles/basic.ll
  test/Transforms/RewriteStatepointsForGC/relocation.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13372.36327.patch
Type: text/x-patch
Size: 15684 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151002/a1e96b70/attachment.bin>


More information about the llvm-commits mailing list