[PATCH] Introduce an example statepoint GC strategy
Philip Reames
listmail at philipreames.com
Mon Dec 29 21:41:09 PST 2014
Hi whitequark, sanjoy,
This change includes the most basic possible GCStrategy for a GC which is using the statepoint lowering code. At the moment, this GCStrategy doesn't really do much - aside from actually generate correct stackmaps that is - but I went ahead and added a few extra correctness checks as proof of concept. It's mostly here to provide documentation on how to do one, and to provide a point for various optimization legality hooks I'd like to add going forward. (For context, see the TODOs in InstCombine around gc.relocate.)
Note that I am deliberately not making a GCStrategy required to use gc.statepoints with this change. I want to give folks out of tree - including myself - a chance to migrate. In a week or two, I'll make having a GCStrategy be required for gc.statepoints. To this end, I added the gc tag to one of the test cases but not others.
http://reviews.llvm.org/D6808
Files:
include/llvm/CodeGen/GCStrategy.h
include/llvm/CodeGen/GCs.h
include/llvm/CodeGen/LinkAllCodegenComponents.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/CMakeLists.txt
lib/CodeGen/GCStrategy.cpp
lib/CodeGen/SelectionDAG/StatepointLowering.cpp
test/CodeGen/X86/statepoint-forward.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6808.17706.patch
Type: text/x-patch
Size: 9355 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141230/20068748/attachment.bin>
More information about the llvm-commits
mailing list