diff options
author | Manman Ren <mren@apple.com> | 2012-11-01 23:49:58 +0000 |
---|---|---|
committer | Manman Ren <mren@apple.com> | 2012-11-01 23:49:58 +0000 |
commit | 0a1544d2fd63d8101dc7d50974e65c95a0f6f98d (patch) | |
tree | 221348531d6d8698343785ba324f2b2ee6695755 /include | |
parent | 4ac300dfac53022e690fc9a60deb42976c369a6f (diff) | |
download | external_llvm-0a1544d2fd63d8101dc7d50974e65c95a0f6f98d.zip external_llvm-0a1544d2fd63d8101dc7d50974e65c95a0f6f98d.tar.gz external_llvm-0a1544d2fd63d8101dc7d50974e65c95a0f6f98d.tar.bz2 |
OutputArg: added an index of the original argument to match the change to
InputArg in r165616.
This will enable us to get the actual type for both InputArg and OutputArg.
rdar://9932559
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167265 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetCallingConv.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetCallingConv.h b/include/llvm/Target/TargetCallingConv.h index 8030d38..2160e37 100644 --- a/include/llvm/Target/TargetCallingConv.h +++ b/include/llvm/Target/TargetCallingConv.h @@ -140,9 +140,19 @@ namespace ISD { /// IsFixed - Is this a "fixed" value, ie not passed through a vararg "...". bool IsFixed; + /// Index original Function's argument. + unsigned OrigArgIndex; + + /// Offset in bytes of current output value relative to the beginning of + /// original argument. E.g. if argument was splitted into four 32 bit + /// registers, we got 4 OutputArgs with PartOffsets 0, 4, 8 and 12. + unsigned PartOffset; + OutputArg() : IsFixed(false) {} - OutputArg(ArgFlagsTy flags, EVT vt, bool isfixed) - : Flags(flags), IsFixed(isfixed) { + OutputArg(ArgFlagsTy flags, EVT vt, bool isfixed, + unsigned origIdx, unsigned partOffs) + : Flags(flags), IsFixed(isfixed), OrigArgIndex(origIdx), + PartOffset(partOffs) { VT = vt.getSimpleVT(); } }; |