llvm-project/llvm/test/Transforms/RewriteStatepointsForGC
Sanjoy Das 353a19e13c [RewriteStatepointsForGC] Strip deref info after rewriting.
Summary:
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.

Reviewers: reames, pgavlin

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D10105

llvm-svn: 238883
2015-06-02 22:33:37 +00:00
..
base-pointers-1.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-2.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-3.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-4.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-5.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-6.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-7.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-8.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-9.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-10.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers-11.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
base-pointers.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
basics.ll [RewriteStatepointsForGC] For some values (like gep's and bitcasts) it's cheaper to clone them after statepoint than to emit proper relocates for them. This change implements this logic. There is alredy similar optimization in CodeGenPrepare, but doing so during RewriteStatepointsForGC allows to capture more opprtunities such as relocates in loops and longer instruction chains. 2015-05-19 15:59:05 +00:00
constants.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
deref-pointers.ll [RewriteStatepointsForGC] Strip deref info after rewriting. 2015-06-02 22:33:37 +00:00
gc_relocate_creation.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
live-vector.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
liveness-basics.ll [RewriteStatepointsForGC] For some values (like gep's and bitcasts) it's cheaper to clone them after statepoint than to emit proper relocates for them. This change implements this logic. There is alredy similar optimization in CodeGenPrepare, but doing so during RewriteStatepointsForGC allows to capture more opprtunities such as relocates in loops and longer instruction chains. 2015-05-19 15:59:05 +00:00
preprocess.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
relocate_invoke_result.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
relocation.ll [RewriteStatepointsForGC] For some values (like gep's and bitcasts) it's cheaper to clone them after statepoint than to emit proper relocates for them. This change implements this logic. There is alredy similar optimization in CodeGenPrepare, but doing so during RewriteStatepointsForGC allows to capture more opprtunities such as relocates in loops and longer instruction chains. 2015-05-19 15:59:05 +00:00
rematerialize-derived-pointers.ll [RewriteStatepointsForGC] For some values (like gep's and bitcasts) it's cheaper to clone them after statepoint than to emit proper relocates for them. This change implements this logic. There is alredy similar optimization in CodeGenPrepare, but doing so during RewriteStatepointsForGC allows to capture more opprtunities such as relocates in loops and longer instruction chains. 2015-05-19 15:59:05 +00:00