[PATCH] [RewriteStatepointsForGC] Strip deref info after rewriting.

Sanjoy Das sanjoy at playingwithpointers.com
Thu May 28 13:58:53 PDT 2015


Hi reames, pgavlin,

Once a gc.statepoint has been rewritten to relocate live references, the
SSA values represent physical pointers instead of logical references.
Logical dereferencability does not imply physical dereferencability and
after RewriteStatepointsForGC has run any attributes that imply
dereferencability of the logical references need to be stripped.

This current approach is conservative, and can be made more precise
later if needed.  For starters, we need to strip dereferencable
attributes only from pointers that live in the GC address space.

http://reviews.llvm.org/D10105

Files:
  lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  test/Transforms/RewriteStatepointsForGC/deref-pointers.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10105.26734.patch
Type: text/x-patch
Size: 9250 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150528/50477b4f/attachment.bin>


More information about the llvm-commits mailing list