LLVM: lib/Target/Mips/MipsMachineFunction.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_LIB_TARGET_MIPS_MIPSMACHINEFUNCTION_H
14#define LLVM_LIB_TARGET_MIPS_MIPSMACHINEFUNCTION_H
15
19#include
20
21namespace llvm {
22
23
24
26public:
28
32 const override;
33
35
38
42
43
44
46
49
52 IncomingArgSize = Size;
53 HasByvalArg = HasByval;
54 }
55
57
60
64
65
66
68
69
70
71 bool isISR() const { return IsISR; }
72 void setISR() { IsISR = true; }
76
77
78
80
83
85
86 std::map<const char *, const Mips16HardFloatInfo::FuncSignature *>
88
89private:
90 virtual void anchor();
91
92
93
94
96
97
98
99
101
102
103 int VarArgsFrameIndex = 0;
104
105
106 bool HasByvalArg;
107
108
109 unsigned IncomingArgSize;
110
111
112 bool CallsEhReturn = false;
113
114
115 int EhDataRegFI[4];
116
117
118 bool IsISR = false;
119
120
121 int ISRDataRegFI[2];
122
123
124 bool SaveS2 = false;
125
126
127
128 int MoveF64ViaSpillFI = -1;
129};
130
131}
132
133#endif
bool isISR() const
Definition MipsMachineFunction.h:71
void setVarArgsFrameIndex(int Index)
Definition MipsMachineFunction.h:48
void setCallsEhReturn()
Definition MipsMachineFunction.h:59
Register getGlobalBaseRegForGlobalISel(MachineFunction &MF)
unsigned getSRetReturnReg() const
Definition MipsMachineFunction.h:36
void setSaveS2()
Definition MipsMachineFunction.h:81
int getVarArgsFrameIndex() const
Definition MipsMachineFunction.h:47
bool isISRRegFI(int FI) const
MachinePointerInfo callPtrInfo(MachineFunction &MF, const char *ES)
Create a MachinePointerInfo that has an ExternalSymbolPseudoSourceValue object representing a GOT ent...
int getMoveF64ViaSpillFI(MachineFunction &MF, const TargetRegisterClass *RC)
Register getGlobalBaseReg(MachineFunction &MF)
void setISR()
Definition MipsMachineFunction.h:72
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
int getEhDataRegFI(unsigned Reg) const
Definition MipsMachineFunction.h:62
void setSRetReturnReg(unsigned Reg)
Definition MipsMachineFunction.h:37
bool hasByvalArg() const
Definition MipsMachineFunction.h:50
bool hasSaveS2() const
Definition MipsMachineFunction.h:82
int getISRRegFI(Register Reg) const
Definition MipsMachineFunction.h:74
bool callsEhReturn() const
Definition MipsMachineFunction.h:58
MipsFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
Definition MipsMachineFunction.h:27
bool globalBaseRegSet() const
bool isEhDataRegFI(int FI) const
std::map< const char *, const Mips16HardFloatInfo::FuncSignature * > StubsNeeded
Definition MipsMachineFunction.h:87
void createEhDataRegsFI(MachineFunction &MF)
unsigned getIncomingArgSize() const
Definition MipsMachineFunction.h:56
void setFormalArgInfo(unsigned Size, bool HasByval)
Definition MipsMachineFunction.h:51
void initGlobalBaseReg(MachineFunction &MF)
~MipsFunctionInfo() override
void createISRRegFI(MachineFunction &MF)
Wrapper class representing virtual and physical registers.
TargetSubtargetInfo - Generic base class for all target subtargets.
This is an optimization pass for GlobalISel generic memory operations.
BumpPtrAllocatorImpl<> BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
This class contains a discriminated union of information about pointers in memory operands,...