aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/AsmParser/LLLexer.cpp
diff options
context:
space:
mode:
authorTim Northover <t.p.northover@gmail.com>2020-11-19 12:32:50 +0000
committerTim Northover <t.p.northover@gmail.com>2021-05-17 10:48:34 +0100
commit82a0e808bb2cddc1ce508c6ae654f8350b082256 (patch)
tree2fbecbf136a18c9abb8f6999f8d93d2cb8591254 /llvm/lib/AsmParser/LLLexer.cpp
parent1d9e8e13dd7b3204fa51ada17d1608bdbd1bed66 (diff)
downloadllvm-82a0e808bb2cddc1ce508c6ae654f8350b082256.zip
llvm-82a0e808bb2cddc1ce508c6ae654f8350b082256.tar.gz
llvm-82a0e808bb2cddc1ce508c6ae654f8350b082256.tar.bz2
IR/AArch64/X86: add "swifttailcc" calling convention.
Swift's new concurrency features are going to require guaranteed tail calls so that they don't consume excessive amounts of stack space. This would normally mean "tailcc", but there are also Swift-specific ABI desires that don't naturally go along with "tailcc" so this adds another calling convention that's the combination of "swiftcc" and "tailcc". Support is added for AArch64 and X86 for now.
Diffstat (limited to 'llvm/lib/AsmParser/LLLexer.cpp')
-rw-r--r--llvm/lib/AsmParser/LLLexer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp
index 4374982..00e2fef 100644
--- a/llvm/lib/AsmParser/LLLexer.cpp
+++ b/llvm/lib/AsmParser/LLLexer.cpp
@@ -609,6 +609,7 @@ lltok::Kind LLLexer::LexIdentifier() {
KEYWORD(x86_regcallcc);
KEYWORD(webkit_jscc);
KEYWORD(swiftcc);
+ KEYWORD(swifttailcc);
KEYWORD(anyregcc);
KEYWORD(preserve_mostcc);
KEYWORD(preserve_allcc);