diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp --- a/llvm/lib/AsmParser/LLLexer.cpp +++ b/llvm/lib/AsmParser/LLLexer.cpp @@ -595,6 +595,7 @@ KEYWORD(arm_aapcs_vfpcc); KEYWORD(aarch64_vector_pcs); KEYWORD(aarch64_sve_vector_pcs); + KEYWORD(msp430_builtincc); KEYWORD(msp430_intrcc); KEYWORD(avr_intrcc); KEYWORD(avr_signalcc); diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -2005,6 +2005,7 @@ /// ::= 'arm_aapcs_vfpcc' /// ::= 'aarch64_vector_pcs' /// ::= 'aarch64_sve_vector_pcs' +/// ::= 'msp430_builtincc' /// ::= 'msp430_intrcc' /// ::= 'avr_intrcc' /// ::= 'avr_signalcc' @@ -2054,6 +2055,7 @@ case lltok::kw_aarch64_sve_vector_pcs: CC = CallingConv::AArch64_SVE_VectorCall; break; + case lltok::kw_msp430_builtincc:CC = CallingConv::MSP430_BUILTIN; break; case lltok::kw_msp430_intrcc: CC = CallingConv::MSP430_INTR; break; case lltok::kw_avr_intrcc: CC = CallingConv::AVR_INTR; break; case lltok::kw_avr_signalcc: CC = CallingConv::AVR_SIGNAL; break; diff --git a/llvm/lib/AsmParser/LLToken.h b/llvm/lib/AsmParser/LLToken.h --- a/llvm/lib/AsmParser/LLToken.h +++ b/llvm/lib/AsmParser/LLToken.h @@ -143,6 +143,7 @@ kw_arm_aapcs_vfpcc, kw_aarch64_vector_pcs, kw_aarch64_sve_vector_pcs, + kw_msp430_builtincc, kw_msp430_intrcc, kw_avr_intrcc, kw_avr_signalcc, diff --git a/llvm/lib/IR/AsmWriter.cpp b/llvm/lib/IR/AsmWriter.cpp --- a/llvm/lib/IR/AsmWriter.cpp +++ b/llvm/lib/IR/AsmWriter.cpp @@ -367,6 +367,7 @@ case CallingConv::AArch64_SVE_VectorCall: Out << "aarch64_sve_vector_pcs"; break; + case CallingConv::MSP430_BUILTIN:Out << "msp430_builtincc"; break; case CallingConv::MSP430_INTR: Out << "msp430_intrcc"; break; case CallingConv::AVR_INTR: Out << "avr_intrcc "; break; case CallingConv::AVR_SIGNAL: Out << "avr_signalcc "; break; diff --git a/llvm/test/Bitcode/compatibility.ll b/llvm/test/Bitcode/compatibility.ll --- a/llvm/test/Bitcode/compatibility.ll +++ b/llvm/test/Bitcode/compatibility.ll @@ -486,6 +486,10 @@ ; CHECK: declare amdgpu_hs void @f.cc93() declare amdgpu_hs void @f.amdgpu_hs() ; CHECK: declare amdgpu_hs void @f.amdgpu_hs() +declare cc94 void @f.cc94() +; CHECK: declare msp430_builtincc void @f.cc94() +declare msp430_builtincc void @f.msp430_builtincc() +; CHECK: declare msp430_builtincc void @f.msp430_builtincc() declare cc95 void @f.cc95() ; CHECK: declare amdgpu_ls void @f.cc95() declare amdgpu_ls void @f.amdgpu_ls() diff --git a/llvm/utils/vim/syntax/llvm.vim b/llvm/utils/vim/syntax/llvm.vim --- a/llvm/utils/vim/syntax/llvm.vim +++ b/llvm/utils/vim/syntax/llvm.vim @@ -105,6 +105,7 @@ \ minsize \ module \ monotonic + \ msp430_builtincc \ msp430_intrcc \ musttail \ naked diff --git a/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml b/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml --- a/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml +++ b/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml @@ -202,6 +202,7 @@ \\bminsize\\b|\ \\bmodule\\b|\ \\bmonotonic\\b|\ + \\bmsp430_builtincc\\b|\ \\bmsp430_intrcc\\b|\ \\bmusttail\\b|\ \\bnaked\\b|\