diff options
author | Tim Northover <t.p.northover@gmail.com> | 2020-11-19 12:32:50 +0000 |
---|---|---|
committer | Tim Northover <t.p.northover@gmail.com> | 2021-05-17 10:48:34 +0100 |
commit | 82a0e808bb2cddc1ce508c6ae654f8350b082256 (patch) | |
tree | 2fbecbf136a18c9abb8f6999f8d93d2cb8591254 /llvm/lib/AsmParser/LLLexer.cpp | |
parent | 1d9e8e13dd7b3204fa51ada17d1608bdbd1bed66 (diff) | |
download | llvm-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.cpp | 1 |
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); |