[PATCH] D25096: [RS4GC] New pass to remove gc.relocates added by RS4GC

Anna Thomas via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 30 08:23:38 PDT 2016


anna created this revision.
anna added reviewers: sanjoy, reames.
anna added a subscriber: llvm-commits.
Herald added subscribers: mgorny, beanz.

Utility pass to remove gc.relocates created by rewrite statepoints for GC.
With respect to safepoint verification, the IR generated would be incorrect, and cannot run
as such.

This would be a single transformation on the final optimized IR.
The benefit of the pass is for easy analysis when the IRs are 'polluted' by too
many gc.relocates.

test run: All RS4GC tests with -verify option. Local downstream tests on large
IR files. This also works when the pointer being gc.relocated is another
gc.relocate.

TODO: There are 2 specific parts that need some more thought. Right now most
GC.relocates are removed.


https://reviews.llvm.org/D25096

Files:
  include/llvm/InitializePasses.h
  include/llvm/Transforms/Scalar.h
  lib/Transforms/Utils/CMakeLists.txt
  lib/Transforms/Utils/RemoveGCRelocates.cpp
  lib/Transforms/Utils/Utils.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25096.73056.patch
Type: text/x-patch
Size: 6243 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160930/e0bc499c/attachment.bin>


More information about the llvm-commits mailing list