[PATCH] Introduce an example statepoint GC strategy

Philip Reames listmail at philipreames.com
Tue Jan 6 15:41:19 PST 2015


On 12/29/2014 09:41 PM, Philip Reames wrote:
> 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
>    http://reviews.llvm.org/settings/panel/emailpreferences/

More information about the llvm-commits mailing list