[PATCH] D18106: Extract out a SelectionDAGBuilder::LowerAsStatepoint; NFC

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 11 15:08:29 PST 2016


sanjoy created this revision.
sanjoy added reviewers: reames, pgavlin, JosephTremoulet.
sanjoy added a subscriber: llvm-commits.
Herald added subscribers: mcrosier, sanjoy.

This is a step towards implementing "direct" lowering of calls and
invokes with deopt operand bundles into STATEPOINT nodes (as opposed to
having them mandatorily pass through RewriteStatepointsForGC, which is
the case today).

This change extracts out a `SelectionDAGBuilder::LowerAsStatepoint`
helper function that is able to lower a "statepoint like thing", and
uses it to lower `gc.statepoint` calls.  This is an NFC now, but in a
later change we will use `LowerAsStatepoint` to directly lower calls and
invokes with operand bundles without going through an intermediate
`gc.statepoint` IR representation.

FYI: I expect `SelectionDAGBuilder::StatepointInfo` will evolve as I add
support for lowering non gc.statepoints, right now it is fairly tightly
coupled with an IR level `gc.statepoint`.

http://reviews.llvm.org/D18106

Files:
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  lib/CodeGen/SelectionDAG/StatepointLowering.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18106.50487.patch
Type: text/x-patch
Size: 21406 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160311/d427adc6/attachment.bin>


More information about the llvm-commits mailing list