Remove the code from CodeGenPrepare that moved getresult instructions
authorDan Gohman <gohman@apple.com>
Fri, 25 Apr 2008 18:27:55 +0000 (18:27 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 25 Apr 2008 18:27:55 +0000 (18:27 +0000)
commit23ce502cb7d9d06a1786d276a10be42e65759eca
tree482820194bec029a5af78518fd7f158d09966b95
parent80f5404e1868ebfddea65214310c451c30b500f2
Remove the code from CodeGenPrepare that moved getresult instructions
to the block that defines their operands. This doesn't work in the
case that the operand is an invoke, because invoke is a terminator
and must be the last instruction in a block.

Replace it with support in SelectionDAGISel for copying struct values
into sequences of virtual registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50279 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Transforms/Scalar/CodeGenPrepare.cpp
test/CodeGen/Generic/multiple-return-values-cross-block-with-invoke.ll [new file with mode: 0644]