13a9a9c0cSDimitry Andric //=- RISCVMachineFunctionInfo.cpp - RISCV machine function info ---*- C++ -*-=// 23a9a9c0cSDimitry Andric // 33a9a9c0cSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 43a9a9c0cSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 53a9a9c0cSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 63a9a9c0cSDimitry Andric // 73a9a9c0cSDimitry Andric //===----------------------------------------------------------------------===// 83a9a9c0cSDimitry Andric // 93a9a9c0cSDimitry Andric // This file declares RISCV-specific per-machine-function information. 103a9a9c0cSDimitry Andric // 113a9a9c0cSDimitry Andric //===----------------------------------------------------------------------===// 123a9a9c0cSDimitry Andric 133a9a9c0cSDimitry Andric #include "RISCVMachineFunctionInfo.h" 143a9a9c0cSDimitry Andric 153a9a9c0cSDimitry Andric using namespace llvm; 163a9a9c0cSDimitry Andric 173a9a9c0cSDimitry Andric yaml::RISCVMachineFunctionInfo::RISCVMachineFunctionInfo( 183a9a9c0cSDimitry Andric const llvm::RISCVMachineFunctionInfo &MFI) 193a9a9c0cSDimitry Andric : VarArgsFrameIndex(MFI.getVarArgsFrameIndex()), 203a9a9c0cSDimitry Andric VarArgsSaveSize(MFI.getVarArgsSaveSize()) {} 213a9a9c0cSDimitry Andric 22*81ad6265SDimitry Andric MachineFunctionInfo *RISCVMachineFunctionInfo::clone( 23*81ad6265SDimitry Andric BumpPtrAllocator &Allocator, MachineFunction &DestMF, 24*81ad6265SDimitry Andric const DenseMap<MachineBasicBlock *, MachineBasicBlock *> &Src2DstMBB) 25*81ad6265SDimitry Andric const { 26*81ad6265SDimitry Andric return DestMF.cloneInfo<RISCVMachineFunctionInfo>(*this); 27*81ad6265SDimitry Andric } 28*81ad6265SDimitry Andric 293a9a9c0cSDimitry Andric void yaml::RISCVMachineFunctionInfo::mappingImpl(yaml::IO &YamlIO) { 303a9a9c0cSDimitry Andric MappingTraits<RISCVMachineFunctionInfo>::mapping(YamlIO, *this); 313a9a9c0cSDimitry Andric } 323a9a9c0cSDimitry Andric 333a9a9c0cSDimitry Andric void RISCVMachineFunctionInfo::initializeBaseYamlFields( 343a9a9c0cSDimitry Andric const yaml::RISCVMachineFunctionInfo &YamlMFI) { 353a9a9c0cSDimitry Andric VarArgsFrameIndex = YamlMFI.VarArgsFrameIndex; 363a9a9c0cSDimitry Andric VarArgsSaveSize = YamlMFI.VarArgsSaveSize; 373a9a9c0cSDimitry Andric } 38