LLVM: lib/Target/LoongArch/LoongArchMachineFunctionInfo.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_LIB_TARGET_LOONGARCH_LOONGARCHMACHINEFUNCTIONINFO_H
14#define LLVM_LIB_TARGET_LOONGARCH_LOONGARCHMACHINEFUNCTIONINFO_H
15
19
20namespace llvm {
21
22
23
24
26private:
27
28 int VarArgsFrameIndex = 0;
29
30 int VarArgsSaveSize = 0;
31
32
33 unsigned CalleeSavedStackSize = 0;
34
35
36
37 int BranchRelaxationSpillFrameIndex = -1;
38
39
41
42
43
45
46public:
49
56
59
62
65
67 return BranchRelaxationSpillFrameIndex;
68 }
70 BranchRelaxationSpillFrameIndex = Index;
71 }
72
74
78
80 JumpInfos.push_back(std::make_pair(JrMI, JTIIdx));
81 }
85};
86
87}
88
89#endif
void addSExt32Register(Register Reg)
Definition LoongArchMachineFunctionInfo.h:73
int getJumpInfoJTIIndex(unsigned Idx)
Definition LoongArchMachineFunctionInfo.h:84
LoongArchMachineFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
Definition LoongArchMachineFunctionInfo.h:47
void setVarArgsFrameIndex(int Index)
Definition LoongArchMachineFunctionInfo.h:58
int getBranchRelaxationSpillFrameIndex()
Definition LoongArchMachineFunctionInfo.h:66
int getVarArgsFrameIndex() const
Definition LoongArchMachineFunctionInfo.h:57
unsigned getJumpInfoSize()
Definition LoongArchMachineFunctionInfo.h:82
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
Definition LoongArchMachineFunctionInfo.h:51
void setBranchRelaxationSpillFrameIndex(int Index)
Definition LoongArchMachineFunctionInfo.h:69
void setVarArgsSaveSize(int Size)
Definition LoongArchMachineFunctionInfo.h:61
MachineInstr * getJumpInfoJrMI(unsigned Idx)
Definition LoongArchMachineFunctionInfo.h:83
unsigned getVarArgsSaveSize() const
Definition LoongArchMachineFunctionInfo.h:60
unsigned getCalleeSavedStackSize() const
Definition LoongArchMachineFunctionInfo.h:63
void setJumpInfo(MachineInstr *JrMI, int JTIIdx)
Definition LoongArchMachineFunctionInfo.h:79
void setCalleeSavedStackSize(unsigned Size)
Definition LoongArchMachineFunctionInfo.h:64
bool isSExt32Register(Register Reg) const
Definition LoongArchMachineFunctionInfo.h:75
Ty * cloneInfo(const Ty &Old)
Representation of each machine instruction.
Wrapper class representing virtual and physical registers.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
TargetSubtargetInfo - Generic base class for all target subtargets.
This is an optimization pass for GlobalISel generic memory operations.
bool is_contained(R &&Range, const E &Element)
Returns true if Element is found in Range.
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...