003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/lib/Target/Lanai
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
lib
/
Target
/
Lanai
/
📁
..
📁
AsmParser
📁
Disassembler
📄
Lanai.h
(1.4 KB)
📄
Lanai.td
(1.71 KB)
📄
LanaiAluCode.h
(3.55 KB)
📄
LanaiAsmPrinter.cpp
(8.15 KB)
📄
LanaiCallingConv.td
(1.76 KB)
📄
LanaiCondCode.h
(2.9 KB)
📄
LanaiDelaySlotFiller.cpp
(8.89 KB)
📄
LanaiFrameLowering.cpp
(8 KB)
📄
LanaiFrameLowering.h
(1.91 KB)
📄
LanaiISelDAGToDAG.cpp
(11.67 KB)
📄
LanaiISelLowering.cpp
(55.19 KB)
📄
LanaiISelLowering.h
(5.99 KB)
📄
LanaiInstrFormats.td
(20.83 KB)
📄
LanaiInstrInfo.cpp
(27.4 KB)
📄
LanaiInstrInfo.h
(7.02 KB)
📄
LanaiInstrInfo.td
(30.89 KB)
📄
LanaiMCInstLower.cpp
(4.52 KB)
📄
LanaiMCInstLower.h
(1.43 KB)
📄
LanaiMachineFunctionInfo.cpp
(469 B)
📄
LanaiMachineFunctionInfo.h
(1.95 KB)
📄
LanaiMemAluCombiner.cpp
(13.52 KB)
📄
LanaiRegisterInfo.cpp
(8.54 KB)
📄
LanaiRegisterInfo.h
(1.78 KB)
📄
LanaiRegisterInfo.td
(2.2 KB)
📄
LanaiSchedule.td
(2.25 KB)
📄
LanaiSelectionDAGInfo.cpp
(1.1 KB)
📄
LanaiSelectionDAGInfo.h
(1.32 KB)
📄
LanaiSubtarget.cpp
(1.66 KB)
📄
LanaiSubtarget.h
(2.44 KB)
📄
LanaiTargetMachine.cpp
(3.92 KB)
📄
LanaiTargetMachine.h
(1.9 KB)
📄
LanaiTargetObjectFile.cpp
(4.8 KB)
📄
LanaiTargetObjectFile.h
(1.78 KB)
📄
LanaiTargetTransformInfo.h
(4.2 KB)
📁
MCTargetDesc
📁
TargetInfo
Editing: LanaiCallingConv.td
//===- LanaiCallingConv.td - Calling Conventions Lanai -------*- tablegen -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This describes the calling conventions for the Lanai architectures. // //===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===// // Return Value Calling Conventions //===----------------------------------------------------------------------===// // Lanai 32-bit C Calling convention. def CC_Lanai32 : CallingConv<[ // Promote i8/i16 args to i32 CCIfType<[i8, i16], CCPromoteToType<i32>>, // Put argument in registers if marked 'inreg' and not a vararg call. CCIfNotVarArg<CCIfInReg<CCIfType<[i32], CCAssignToReg<[R6, R7, R18, R19]>>>>, // Otherwise they are assigned to the stack in 4-byte aligned units. CCAssignToStack<4, 4> ]>; // Lanai 32-bit Fast Calling convention. def CC_Lanai32_Fast : CallingConv<[ // Promote i8/i16 args to i32 CCIfType<[ i8, i16 ], CCPromoteToType<i32>>, // Put arguments in registers. CCIfNotVarArg<CCIfType<[i32], CCAssignToReg<[ R6, R7, R18, R19 ]>>>, // Otherwise they are assigned to the stack in 4-byte aligned units. CCAssignToStack<4, 4> ]>; // Lanai 32-bit C return-value convention. def RetCC_Lanai32 : CallingConv<[ // Specify two registers to allow returning 64-bit results that have already // been lowered to 2 32-bit values. CCIfType<[i32], CCAssignToReg<[RV, R9]>> ]>; def CSR: CalleeSavedRegs<(add)>;
Upload File
Create Folder