Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H
14 #define LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H
28 bool LRSpillSlotSet =
false;
30 bool FPSpillSlotSet =
false;
32 bool EHSpillSlotSet =
false;
34 unsigned ReturnStackOffset;
35 bool ReturnStackOffsetSet =
false;
36 int VarArgsFrameIndex = 0;
37 mutable int CachedEStackSize = -1;
38 std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>>
41 virtual void anchor();
61 assert(LRSpillSlotSet &&
"LR Spill slot not set");
68 assert(FPSpillSlotSet &&
"FP Spill slot not set");
75 assert(EHSpillSlotSet &&
"EH Spill slot not set");
80 assert(!ReturnStackOffsetSet &&
"Return stack offset set twice");
81 ReturnStackOffset = value;
82 ReturnStackOffsetSet =
true;
86 assert(ReturnStackOffsetSet &&
"Return stack offset not set");
87 return ReturnStackOffset;
92 std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>> &
100 #endif // LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H
This is an optimization pass for GlobalISel generic memory operations.
int createLRSpillSlot(MachineFunction &MF)
int createFPSpillSlot(MachineFunction &MF)
int getLRSpillSlot() const
int getFPSpillSlot() const
void setVarArgsFrameIndex(int off)
XCoreFunctionInfo(MachineFunction &MF)
Allocate memory in an ever growing pool, as if by bump-pointer.
std::vector< std::pair< MachineBasicBlock::iterator, CalleeSavedInfo > > & getSpillLabels()
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
XCoreFunctionInfo()=default
bool isLargeFrame(const MachineFunction &MF) const
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
~XCoreFunctionInfo() override=default
XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific informat...
void setReturnStackOffset(unsigned value)
int getVarArgsFrameIndex() const
unsigned getReturnStackOffset() const
const int * createEHSpillSlot(MachineFunction &MF)
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
const int * getEHSpillSlot() const