Add new TargetLowering code to provide the final register type that an
authorDan Gohman <gohman@apple.com>
Thu, 28 Jun 2007 23:29:44 +0000 (23:29 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 28 Jun 2007 23:29:44 +0000 (23:29 +0000)
commitb6f5b00c3bad3415d3f2ee1a6d5ee5a6f66a4540
tree947f899171731ae494ba7f5c6c3454df9ee23844
parent28552da9c3c8bc9865b9cff4fe64dad9da7a57a3
Add new TargetLowering code to provide the final register type that an
illegal value type will be transformed to, for code that needs the
register type after all transformations instead of just after the first
transformation.

Factor out the code that uses this information to do copy-from-regs and
copy-to-regs for various purposes into separate functions so that they
are done consistently.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37781 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAGNodes.h
include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp