xref: /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp (revision 3a9a9c0ca44ec535dcf73fe8462bee458e54814b)
1*3a9a9c0cSDimitry Andric //=- RISCVMachineFunctionInfo.cpp - RISCV machine function info ---*- C++ -*-=//
2*3a9a9c0cSDimitry Andric //
3*3a9a9c0cSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*3a9a9c0cSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*3a9a9c0cSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*3a9a9c0cSDimitry Andric //
7*3a9a9c0cSDimitry Andric //===----------------------------------------------------------------------===//
8*3a9a9c0cSDimitry Andric //
9*3a9a9c0cSDimitry Andric // This file declares RISCV-specific per-machine-function information.
10*3a9a9c0cSDimitry Andric //
11*3a9a9c0cSDimitry Andric //===----------------------------------------------------------------------===//
12*3a9a9c0cSDimitry Andric 
13*3a9a9c0cSDimitry Andric #include "RISCVMachineFunctionInfo.h"
14*3a9a9c0cSDimitry Andric 
15*3a9a9c0cSDimitry Andric using namespace llvm;
16*3a9a9c0cSDimitry Andric 
17*3a9a9c0cSDimitry Andric yaml::RISCVMachineFunctionInfo::RISCVMachineFunctionInfo(
18*3a9a9c0cSDimitry Andric     const llvm::RISCVMachineFunctionInfo &MFI)
19*3a9a9c0cSDimitry Andric     : VarArgsFrameIndex(MFI.getVarArgsFrameIndex()),
20*3a9a9c0cSDimitry Andric       VarArgsSaveSize(MFI.getVarArgsSaveSize()) {}
21*3a9a9c0cSDimitry Andric 
22*3a9a9c0cSDimitry Andric void yaml::RISCVMachineFunctionInfo::mappingImpl(yaml::IO &YamlIO) {
23*3a9a9c0cSDimitry Andric   MappingTraits<RISCVMachineFunctionInfo>::mapping(YamlIO, *this);
24*3a9a9c0cSDimitry Andric }
25*3a9a9c0cSDimitry Andric 
26*3a9a9c0cSDimitry Andric void RISCVMachineFunctionInfo::initializeBaseYamlFields(
27*3a9a9c0cSDimitry Andric     const yaml::RISCVMachineFunctionInfo &YamlMFI) {
28*3a9a9c0cSDimitry Andric   VarArgsFrameIndex = YamlMFI.VarArgsFrameIndex;
29*3a9a9c0cSDimitry Andric   VarArgsSaveSize = YamlMFI.VarArgsSaveSize;
30*3a9a9c0cSDimitry Andric }
31