diff options
author | Roman Levenstein <rlevenstein@apple.com> | 2016-03-16 18:00:46 +0000 |
---|---|---|
committer | Roman Levenstein <rlevenstein@apple.com> | 2016-03-16 18:00:46 +0000 |
commit | 35aa5cecf25162f4a88cdf1dbfe3f8fc3ed1a91c (patch) | |
tree | cd10e5f88885e6322f34eff7c85816a107616cbc /clang/lib/Basic/Targets.cpp | |
parent | be37e62e0ceb6ba6777b8bd50924a4cc4cfa3f7d (diff) | |
download | bcm5719-llvm-35aa5cecf25162f4a88cdf1dbfe3f8fc3ed1a91c.tar.gz bcm5719-llvm-35aa5cecf25162f4a88cdf1dbfe3f8fc3ed1a91c.zip |
Add attributes for preserve_mostcc/preserve_allcc calling conventions to the C/C++ front-end
Till now, preserve_mostcc/preserve_allcc calling convention attributes were only
available at the LLVM IR level. This patch adds attributes for
preserve_mostcc/preserve_allcc calling conventions to the C/C++ front-end.
The code was mostly written by Juergen Ributzka.
I just added support for the AArch64 target and tests.
Differential Revision: http://reviews.llvm.org/D18025
llvm-svn: 263647
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 797d052d0c1..a151c594783 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4095,6 +4095,8 @@ public: case CC_X86VectorCall: case CC_IntelOclBicc: case CC_X86_64Win64: + case CC_PreserveMost: + case CC_PreserveAll: return CCCR_OK; default: return CCCR_Warning; @@ -5545,6 +5547,8 @@ public: switch (CC) { case CC_C: case CC_Swift: + case CC_PreserveMost: + case CC_PreserveAll: return CCCR_OK; default: return CCCR_Warning; |