Teach lowering to correctly handle invoke statepoint and gc results tied to them...
authorIgor Laevsky <igmyrj@gmail.com>
Thu, 5 Mar 2015 14:11:21 +0000 (14:11 +0000)
committerIgor Laevsky <igmyrj@gmail.com>
Thu, 5 Mar 2015 14:11:21 +0000 (14:11 +0000)
commitf8b3003ab8efea731a436cf9bcbdd4cbe77150d4
tree718c0b24b430d69ddc19f46fe831d2fd845a5e16
parentd1d594bee0b39fd793ebf62153847c17c8475b63
Teach lowering to correctly handle invoke statepoint and gc results tied to them. Note that we still can not lower gc.relocates for invoke statepoints.
Also it extracts getCopyFromRegs helper function in SelectionDAGBuilder as we need to be able to customize type of the register exported from basic block during lowering of the gc.result.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231366 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
lib/CodeGen/SelectionDAG/StatepointLowering.cpp
test/CodeGen/X86/statepoint-invoke.ll [new file with mode: 0644]