LLVM
15.0.0git
lib
Target
RISCV
RISCVMachineFunctionInfo.cpp
Go to the documentation of this file.
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
17
yaml::RISCVMachineFunctionInfo::RISCVMachineFunctionInfo
(
18
const
llvm::RISCVMachineFunctionInfo
&MFI)
19
: VarArgsFrameIndex(MFI.getVarArgsFrameIndex()),
20
VarArgsSaveSize(MFI.getVarArgsSaveSize()) {}
21
22
MachineFunctionInfo
*
RISCVMachineFunctionInfo::clone
(
23
BumpPtrAllocator
&
Allocator
,
MachineFunction
&DestMF,
24
const
DenseMap<MachineBasicBlock *, MachineBasicBlock *>
&Src2DstMBB)
25
const
{
26
return
DestMF.
cloneInfo
<
RISCVMachineFunctionInfo
>(*this);
27
}
28
29
void
yaml::RISCVMachineFunctionInfo::mappingImpl
(yaml::IO &
YamlIO
) {
30
MappingTraits<RISCVMachineFunctionInfo>::mapping
(
YamlIO
, *
this
);
31
}
32
33
void
RISCVMachineFunctionInfo::initializeBaseYamlFields
(
34
const
yaml::RISCVMachineFunctionInfo
&YamlMFI) {
35
VarArgsFrameIndex
= YamlMFI.
VarArgsFrameIndex
;
36
VarArgsSaveSize
= YamlMFI.
VarArgsSaveSize
;
37
}
llvm::RISCVMachineFunctionInfo::clone
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
Definition:
RISCVMachineFunctionInfo.cpp:22
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:17
YamlIO
IO & YamlIO
Definition:
ELFYAML.cpp:1237
llvm::yaml::MappingTraits
Definition:
ModuleSummaryIndex.h:51
llvm::yaml::RISCVMachineFunctionInfo::VarArgsFrameIndex
int VarArgsFrameIndex
Definition:
RISCVMachineFunctionInfo.h:27
llvm::yaml::RISCVMachineFunctionInfo::RISCVMachineFunctionInfo
RISCVMachineFunctionInfo()=default
llvm::yaml::RISCVMachineFunctionInfo::VarArgsSaveSize
int VarArgsSaveSize
Definition:
RISCVMachineFunctionInfo.h:28
llvm::BumpPtrAllocatorImpl
Allocate memory in an ever growing pool, as if by bump-pointer.
Definition:
Allocator.h:63
llvm::DenseMap
Definition:
DenseMap.h:716
llvm::RISCVMachineFunctionInfo
RISCVMachineFunctionInfo - This class is derived from MachineFunctionInfo and contains private RISCV-...
Definition:
RISCVMachineFunctionInfo.h:47
llvm::MachineFunction
Definition:
MachineFunction.h:257
llvm::MachineFunction::cloneInfo
Ty * cloneInfo(const Ty &Old)
Definition:
MachineFunction.h:765
llvm::yaml::RISCVMachineFunctionInfo
Definition:
RISCVMachineFunctionInfo.h:26
llvm::yaml::RISCVMachineFunctionInfo::mappingImpl
void mappingImpl(yaml::IO &YamlIO) override
Definition:
RISCVMachineFunctionInfo.cpp:29
Allocator
Basic Register Allocator
Definition:
RegAllocBasic.cpp:143
llvm::RISCVMachineFunctionInfo::initializeBaseYamlFields
void initializeBaseYamlFields(const yaml::RISCVMachineFunctionInfo &YamlMFI)
Definition:
RISCVMachineFunctionInfo.cpp:33
RISCVMachineFunctionInfo.h
llvm::MachineFunctionInfo
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
Definition:
MachineFunction.h:95
Generated on Wed Jul 20 2022 16:49:42 for LLVM by
1.8.17