13#ifndef LLVM_LIB_TARGET_LOONGARCH_LOONGARCHMACHINEFUNCTIONINFO_H
14#define LLVM_LIB_TARGET_LOONGARCH_LOONGARCHMACHINEFUNCTIONINFO_H
28 int VarArgsFrameIndex = 0;
30 int VarArgsSaveSize = 0;
33 unsigned CalleeSavedStackSize = 0;
37 int BranchRelaxationSpillFrameIndex = -1;
67 return BranchRelaxationSpillFrameIndex;
70 BranchRelaxationSpillFrameIndex = Index;
80 JumpInfos.push_back(std::make_pair(JrMI, JTIIdx));
void addSExt32Register(Register Reg)
int getJumpInfoJTIIndex(unsigned Idx)
LoongArchMachineFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
void setVarArgsFrameIndex(int Index)
int getBranchRelaxationSpillFrameIndex()
int getVarArgsFrameIndex() const
unsigned getJumpInfoSize()
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
void setBranchRelaxationSpillFrameIndex(int Index)
void setVarArgsSaveSize(int Size)
MachineInstr * getJumpInfoJrMI(unsigned Idx)
unsigned getVarArgsSaveSize() const
unsigned getCalleeSavedStackSize() const
void setJumpInfo(MachineInstr *JrMI, int JTIIdx)
void setCalleeSavedStackSize(unsigned Size)
bool isSExt32Register(Register Reg) const
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.
BumpPtrAllocatorImpl BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
bool is_contained(R &&Range, const E &Element)
Returns true if Element is found in Range.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...