mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[AVR] Add calling convention parser tokens
Summary: Adds the 'avr_intrcc' and 'avr_signalcc' IR calling convention tokens to the parser. Reviewers: arsenm Subscribers: dylanmckay, llvm-commits Differential Revision: http://reviews.llvm.org/D16348 llvm-svn: 262600
This commit is contained in:
parent
2374787ea3
commit
94ce19c111
@ -579,6 +579,8 @@ lltok::Kind LLLexer::LexIdentifier() {
|
||||
KEYWORD(arm_aapcscc);
|
||||
KEYWORD(arm_aapcs_vfpcc);
|
||||
KEYWORD(msp430_intrcc);
|
||||
KEYWORD(avr_intrcc);
|
||||
KEYWORD(avr_signalcc);
|
||||
KEYWORD(ptx_kernel);
|
||||
KEYWORD(ptx_device);
|
||||
KEYWORD(spir_kernel);
|
||||
|
@ -1536,6 +1536,8 @@ bool LLParser::ParseOptionalDLLStorageClass(unsigned &Res) {
|
||||
/// ::= 'arm_aapcscc'
|
||||
/// ::= 'arm_aapcs_vfpcc'
|
||||
/// ::= 'msp430_intrcc'
|
||||
/// ::= 'avr_intrcc'
|
||||
/// ::= 'avr_signalcc'
|
||||
/// ::= 'ptx_kernel'
|
||||
/// ::= 'ptx_device'
|
||||
/// ::= 'spir_func'
|
||||
@ -1567,6 +1569,8 @@ bool LLParser::ParseOptionalCallingConv(unsigned &CC) {
|
||||
case lltok::kw_arm_aapcscc: CC = CallingConv::ARM_AAPCS; break;
|
||||
case lltok::kw_arm_aapcs_vfpcc:CC = CallingConv::ARM_AAPCS_VFP; 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;
|
||||
case lltok::kw_ptx_kernel: CC = CallingConv::PTX_Kernel; break;
|
||||
case lltok::kw_ptx_device: CC = CallingConv::PTX_Device; break;
|
||||
case lltok::kw_spir_kernel: CC = CallingConv::SPIR_KERNEL; break;
|
||||
|
@ -94,6 +94,7 @@ namespace lltok {
|
||||
kw_x86_stdcallcc, kw_x86_fastcallcc, kw_x86_thiscallcc, kw_x86_vectorcallcc,
|
||||
kw_arm_apcscc, kw_arm_aapcscc, kw_arm_aapcs_vfpcc,
|
||||
kw_msp430_intrcc,
|
||||
kw_avr_intrcc, kw_avr_signalcc,
|
||||
kw_ptx_kernel, kw_ptx_device,
|
||||
kw_spir_kernel, kw_spir_func,
|
||||
kw_x86_64_sysvcc, kw_x86_64_win64cc,
|
||||
|
@ -307,6 +307,8 @@ static void PrintCallingConv(unsigned cc, raw_ostream &Out) {
|
||||
case CallingConv::ARM_AAPCS: Out << "arm_aapcscc"; break;
|
||||
case CallingConv::ARM_AAPCS_VFP: Out << "arm_aapcs_vfpcc"; 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;
|
||||
case CallingConv::PTX_Kernel: Out << "ptx_kernel"; break;
|
||||
case CallingConv::PTX_Device: Out << "ptx_device"; break;
|
||||
case CallingConv::X86_64_SysV: Out << "x86_64_sysvcc"; break;
|
||||
|
16
test/Bitcode/avr-calling-conventions.ll
Normal file
16
test/Bitcode/avr-calling-conventions.ll
Normal file
@ -0,0 +1,16 @@
|
||||
; RUN: llvm-dis < %s.bc | FileCheck %s
|
||||
|
||||
; CHECK: define avr_intrcc void @foo(i8)
|
||||
define avr_intrcc void @foo(i8) {
|
||||
ret void
|
||||
}
|
||||
|
||||
; CHECK: define avr_signalcc void @bar(i8)
|
||||
define avr_signalcc void @bar(i8) {
|
||||
ret void
|
||||
}
|
||||
|
||||
; CHECK: define void @baz(i8)
|
||||
define void @baz(i8) {
|
||||
ret void
|
||||
}
|
BIN
test/Bitcode/avr-calling-conventions.ll.bc
Normal file
BIN
test/Bitcode/avr-calling-conventions.ll.bc
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user