diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-08-23 02:25:47 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-08-23 02:25:47 +0000 |
commit | d93969c32a6bbae3326a1f485c4c85be1cb39406 (patch) | |
tree | f54d593d4fe2d4b2149858fa7607f4285ff053e9 /include | |
parent | 0a248bf714f18b1cdcda5d7b811303c232d6e885 (diff) | |
download | llvm-d93969c32a6bbae3326a1f485c4c85be1cb39406.tar.gz llvm-d93969c32a6bbae3326a1f485c4c85be1cb39406.tar.bz2 llvm-d93969c32a6bbae3326a1f485c4c85be1cb39406.tar.xz |
Add an OtherPreserved field to the CalleeSaved TableGen class.
This field specifies registers that are preserved across function calls,
but that should not be included in the generates SaveList array.
This can be used ot generate regmasks for architectures that save
registers through other means, like SPARC's register windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189084 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetCallingConv.td | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetCallingConv.td b/include/llvm/Target/TargetCallingConv.td index a53ed29f1e..c1bef28652 100644 --- a/include/llvm/Target/TargetCallingConv.td +++ b/include/llvm/Target/TargetCallingConv.td @@ -143,4 +143,10 @@ class CallingConv<list<CCAction> actions> { /// returning from getCallPreservedMask(). class CalleeSavedRegs<dag saves> { dag SaveList = saves; + + // Registers that are also preserved across function calls, but should not be + // included in the generated FOO_SaveList array. These registers will be + // included in the FOO_RegMask bit mask. This can be used for registers that + // are saved automatically, like the SPARC register windows. + dag OtherPreserved; } |