123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- //=- RISCVMachineFunctionInfo.cpp - RISCV machine function info ---*- C++ -*-=//
- //
- // 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 file declares RISCV-specific per-machine-function information.
- //
- //===----------------------------------------------------------------------===//
- #include "RISCVMachineFunctionInfo.h"
- using namespace llvm;
- yaml::RISCVMachineFunctionInfo::RISCVMachineFunctionInfo(
- const llvm::RISCVMachineFunctionInfo &MFI)
- : VarArgsFrameIndex(MFI.getVarArgsFrameIndex()),
- VarArgsSaveSize(MFI.getVarArgsSaveSize()) {}
- MachineFunctionInfo *RISCVMachineFunctionInfo::clone(
- BumpPtrAllocator &Allocator, MachineFunction &DestMF,
- const DenseMap<MachineBasicBlock *, MachineBasicBlock *> &Src2DstMBB)
- const {
- return DestMF.cloneInfo<RISCVMachineFunctionInfo>(*this);
- }
- void yaml::RISCVMachineFunctionInfo::mappingImpl(yaml::IO &YamlIO) {
- MappingTraits<RISCVMachineFunctionInfo>::mapping(YamlIO, *this);
- }
- void RISCVMachineFunctionInfo::initializeBaseYamlFields(
- const yaml::RISCVMachineFunctionInfo &YamlMFI) {
- VarArgsFrameIndex = YamlMFI.VarArgsFrameIndex;
- VarArgsSaveSize = YamlMFI.VarArgsSaveSize;
- }
- void RISCVMachineFunctionInfo::addSExt32Register(Register Reg) {
- SExt32Registers.push_back(Reg);
- }
- bool RISCVMachineFunctionInfo::isSExt32Register(Register Reg) const {
- return is_contained(SExt32Registers, Reg);
- }
|