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();
62 assert(LRSpillSlotSet &&
"LR Spill slot not set");
69 assert(FPSpillSlotSet &&
"FP Spill slot not set");
76 assert(EHSpillSlotSet &&
"EH Spill slot not set");
81 assert(!ReturnStackOffsetSet &&
"Return stack offset set twice");
82 ReturnStackOffset =
value;
83 ReturnStackOffsetSet =
true;
87 assert(ReturnStackOffsetSet &&
"Return stack offset not set");
88 return ReturnStackOffset;
93 std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>> &
Given that RA is a live value
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Allocate memory in an ever growing pool, as if by bump-pointer.
TargetSubtargetInfo - Generic base class for all target subtargets.
XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific informat...
int getLRSpillSlot() const
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
void setVarArgsFrameIndex(int off)
~XCoreFunctionInfo() override=default
const int * getEHSpillSlot() const
const int * createEHSpillSlot(MachineFunction &MF)
void setReturnStackOffset(unsigned value)
bool isLargeFrame(const MachineFunction &MF) const
int getVarArgsFrameIndex() const
int createLRSpillSlot(MachineFunction &MF)
int getFPSpillSlot() const
int createFPSpillSlot(MachineFunction &MF)
unsigned getReturnStackOffset() const
std::vector< std::pair< MachineBasicBlock::iterator, CalleeSavedInfo > > & getSpillLabels()
XCoreFunctionInfo()=default
XCoreFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
This is an optimization pass for GlobalISel generic memory operations.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...