[StatepointLowering] Support of the gc.relocates for invoke statepoints.
authorIgor Laevsky <igmyrj@gmail.com>
Wed, 20 May 2015 11:37:25 +0000 (11:37 +0000)
committerIgor Laevsky <igmyrj@gmail.com>
Wed, 20 May 2015 11:37:25 +0000 (11:37 +0000)
commitefab5a1dfa657282005cf69b82e19901c694186f
tree03ddb51f4c29f1a4e2a8cf261a47a98added7881
parent362b8e5b526cb88ee322b98552e96b5c54d72fc7
[StatepointLowering] Support of the gc.relocates for invoke statepoints.

This change implements support for lowering of the gc.relocates tied to the invoke statepoint.
This is acomplished by storing frame indices of the lowered values in "StatepointRelocatedValues" map inside FunctionLoweringInfo instead of storing them in per-basic block structure StatepointLowering.
After this change StatepointLowering is used only during "LowerStatepoint" call and it is not necessary to store it as a field in SelectionDAGBuilder anymore.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237786 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/FunctionLoweringInfo.h
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
lib/CodeGen/SelectionDAG/StatepointLowering.cpp
lib/CodeGen/SelectionDAG/StatepointLowering.h
test/CodeGen/X86/statepoint-invoke.ll