SelectionDAG: Pass along the original argument/element type in ISD::InputArg
authorTom Stellard <thomas.stellard@amd.com>
Wed, 23 Oct 2013 00:44:24 +0000 (00:44 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 23 Oct 2013 00:44:24 +0000 (00:44 +0000)
commitd0716b064744598ba7df33b8b47de0375c450570
tree50c5ccdfb6424abc1193a85ed34267d07a8628d1
parent6a2f9b91379140c36a11ade6c0673bd7490eba32
SelectionDAG: Pass along the original argument/element type in ISD::InputArg

For some targets, it is useful to be able to look at the original
type of an argument without having to dig through the original IR.

This also fixes a bug in SelectionDAGBuilder where InputArg.PartOffset
was not taking into account the offset of structure elements.

Patch by: Justin Holewinski

Tom Stellard:
  - Changed the type of ArgVT to EVT, so it can store non-simple types
    like v3i32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193214 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetCallingConv.h
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/TargetLoweringBase.cpp