[GC] CodeGenPrep transform: simplify offsetable relocate
authorRamkumar Ramachandra <artagnon@gmail.com>
Wed, 14 Jan 2015 23:27:07 +0000 (23:27 +0000)
committerRamkumar Ramachandra <artagnon@gmail.com>
Wed, 14 Jan 2015 23:27:07 +0000 (23:27 +0000)
commitfba4d82671f327c5b4d825109973b345bb56dfef
tree9e393ebfde6f1964e6fef8efb37f447f7ea9816c
parentdf630fb82217008f3f7bb38e17817c4e3f1b776a
[GC] CodeGenPrep transform: simplify offsetable relocate

The transform is somewhat involved, but the basic idea is simple: find
derived pointers that have been offset from the base pointer using gep
and replace the relocate of the derived pointer with a gep to the
relocated base pointer (with the same offset).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226060 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/Statepoint.h
lib/CodeGen/CodeGenPrepare.cpp
test/Transforms/CodeGenPrepare/statepoint-relocate.ll [new file with mode: 0644]