[PATCH] D18257: Add "first class" lowering for deopt operand bundles
Sanjoy Das via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 17 16:56:51 PDT 2016
sanjoy created this revision.
sanjoy added reviewers: reames, atrick, majnemer, JosephTremoulet, pgavlin.
sanjoy added subscribers: llvm-commits, majnemer.
Herald added subscribers: mcrosier, sanjoy.
After this change, deopt operand bundles can be lowered directly by
SelectionDAG into STATEPOINT instructions (which are then lowered to a
call or sequence of nop, with an associated __llvm_stackmaps entry0.
This obviates the need to round-trip deoptimization state through
gc.statepoint via RewriteStatepointsForGC.
@majnemer: can you please take a look to check that I haven't botched
handling of `"funclet"` operand bundles?
http://reviews.llvm.org/D18257
Files:
include/llvm/IR/Statepoint.h
lib/CodeGen/SelectionDAG/FastISel.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
lib/CodeGen/SelectionDAG/StatepointLowering.cpp
test/CodeGen/X86/deopt-bundles.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18257.50990.patch
Type: text/x-patch
Size: 11701 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160317/981d52c4/attachment.bin>
More information about the llvm-commits
mailing list