1 //=- RISCVMachineFunctionInfo.cpp - RISCV machine function info ---*- C++ -*-=// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file declares RISCV-specific per-machine-function information. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "RISCVMachineFunctionInfo.h" 14 15 using namespace llvm; 16 RISCVMachineFunctionInfo(const llvm::RISCVMachineFunctionInfo & MFI)17yaml::RISCVMachineFunctionInfo::RISCVMachineFunctionInfo( 18 const llvm::RISCVMachineFunctionInfo &MFI) 19 : VarArgsFrameIndex(MFI.getVarArgsFrameIndex()), 20 VarArgsSaveSize(MFI.getVarArgsSaveSize()) {} 21 clone(BumpPtrAllocator & Allocator,MachineFunction & DestMF,const DenseMap<MachineBasicBlock *,MachineBasicBlock * > & Src2DstMBB) const22MachineFunctionInfo *RISCVMachineFunctionInfo::clone( 23 BumpPtrAllocator &Allocator, MachineFunction &DestMF, 24 const DenseMap<MachineBasicBlock *, MachineBasicBlock *> &Src2DstMBB) 25 const { 26 return DestMF.cloneInfo<RISCVMachineFunctionInfo>(*this); 27 } 28 mappingImpl(yaml::IO & YamlIO)29void yaml::RISCVMachineFunctionInfo::mappingImpl(yaml::IO &YamlIO) { 30 MappingTraits<RISCVMachineFunctionInfo>::mapping(YamlIO, *this); 31 } 32 initializeBaseYamlFields(const yaml::RISCVMachineFunctionInfo & YamlMFI)33void RISCVMachineFunctionInfo::initializeBaseYamlFields( 34 const yaml::RISCVMachineFunctionInfo &YamlMFI) { 35 VarArgsFrameIndex = YamlMFI.VarArgsFrameIndex; 36 VarArgsSaveSize = YamlMFI.VarArgsSaveSize; 37 } 38