LLVM
8.0.1
lib
Target
Lanai
LanaiMachineFunctionInfo.h
Go to the documentation of this file.
1
//===- LanaiMachineFuctionInfo.h - Lanai machine func info -------*- C++ -*-==//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file declares Lanai-specific per-machine-function information.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_TARGET_LANAI_LANAIMACHINEFUNCTIONINFO_H
15
#define LLVM_LIB_TARGET_LANAI_LANAIMACHINEFUNCTIONINFO_H
16
17
#include "
LanaiRegisterInfo.h
"
18
#include "
llvm/CodeGen/MachineFunction.h
"
19
#include "
llvm/CodeGen/MachineRegisterInfo.h
"
20
21
namespace
llvm
{
22
23
// LanaiMachineFunctionInfo - This class is derived from MachineFunction and
24
// contains private Lanai target-specific information for each MachineFunction.
25
class
LanaiMachineFunctionInfo
:
public
MachineFunctionInfo
{
26
virtual
void
anchor();
27
28
MachineFunction
&MF;
29
30
// SRetReturnReg - Lanai ABI require that sret lowering includes
31
// returning the value of the returned struct in a register. This field
32
// holds the virtual register into which the sret argument is passed.
33
unsigned
SRetReturnReg;
34
35
// GlobalBaseReg - keeps track of the virtual register initialized for
36
// use as the global base register. This is used for PIC in some PIC
37
// relocation models.
38
unsigned
GlobalBaseReg;
39
40
// VarArgsFrameIndex - FrameIndex for start of varargs area.
41
int
VarArgsFrameIndex;
42
43
public
:
44
explicit
LanaiMachineFunctionInfo
(
MachineFunction
&MF)
45
: MF(MF), SRetReturnReg(0), GlobalBaseReg(0), VarArgsFrameIndex(0) {}
46
47
unsigned
getSRetReturnReg
()
const
{
return
SRetReturnReg; }
48
void
setSRetReturnReg
(
unsigned
Reg
) { SRetReturnReg =
Reg
; }
49
50
unsigned
getGlobalBaseReg
();
51
52
int
getVarArgsFrameIndex
()
const
{
return
VarArgsFrameIndex; }
53
void
setVarArgsFrameIndex
(
int
Index
) { VarArgsFrameIndex =
Index
; }
54
};
55
56
}
// namespace llvm
57
58
#endif // LLVM_LIB_TARGET_LANAI_LANAIMACHINEFUNCTIONINFO_H
llvm::LanaiMachineFunctionInfo::setVarArgsFrameIndex
void setVarArgsFrameIndex(int Index)
Definition:
LanaiMachineFunctionInfo.h:53
llvm
This class represents lattice values for constants.
Definition:
AllocatorList.h:24
llvm::MachineFunction
Definition:
MachineFunction.h:226
Reg
unsigned Reg
Definition:
MachineSink.cpp:979
LanaiRegisterInfo.h
llvm::MachineFunctionInfo
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
Definition:
MachineFunction.h:97
MachineFunction.h
llvm::LanaiMachineFunctionInfo::getGlobalBaseReg
unsigned getGlobalBaseReg()
Definition:
LanaiMachineFunctionInfo.cpp:16
llvm::dwarf::Index
Index
Definition:
Dwarf.h:337
llvm::LanaiMachineFunctionInfo::getSRetReturnReg
unsigned getSRetReturnReg() const
Definition:
LanaiMachineFunctionInfo.h:47
llvm::LanaiMachineFunctionInfo::LanaiMachineFunctionInfo
LanaiMachineFunctionInfo(MachineFunction &MF)
Definition:
LanaiMachineFunctionInfo.h:44
llvm::LanaiMachineFunctionInfo::getVarArgsFrameIndex
int getVarArgsFrameIndex() const
Definition:
LanaiMachineFunctionInfo.h:52
MachineRegisterInfo.h
llvm::LanaiMachineFunctionInfo
Definition:
LanaiMachineFunctionInfo.h:25
llvm::LanaiMachineFunctionInfo::setSRetReturnReg
void setSRetReturnReg(unsigned Reg)
Definition:
LanaiMachineFunctionInfo.h:48
Generated on Sun Dec 20 2020 13:56:55 for LLVM by
1.8.13