14 #ifndef LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H 15 #define LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H 29 bool LRSpillSlotSet =
false;
31 bool FPSpillSlotSet =
false;
33 bool EHSpillSlotSet =
false;
35 unsigned ReturnStackOffset;
36 bool ReturnStackOffsetSet =
false;
37 int VarArgsFrameIndex = 0;
38 mutable int CachedEStackSize = -1;
39 std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>>
42 virtual void anchor();
57 assert(LRSpillSlotSet &&
"LR Spill slot not set");
64 assert(FPSpillSlotSet &&
"FP Spill slot not set");
71 assert(EHSpillSlotSet &&
"EH Spill slot not set");
76 assert(!ReturnStackOffsetSet &&
"Return stack offset set twice");
77 ReturnStackOffset = value;
78 ReturnStackOffsetSet =
true;
82 assert(ReturnStackOffsetSet &&
"Return stack offset not set");
83 return ReturnStackOffset;
88 std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>> &
96 #endif // LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H int createLRSpillSlot(MachineFunction &MF)
void setVarArgsFrameIndex(int off)
This class represents lattice values for constants.
~XCoreFunctionInfo() override=default
unsigned getReturnStackOffset() const
std::vector< std::pair< MachineBasicBlock::iterator, CalleeSavedInfo > > & getSpillLabels()
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
XCoreFunctionInfo()=default
void setReturnStackOffset(unsigned value)
int createFPSpillSlot(MachineFunction &MF)
const int * createEHSpillSlot(MachineFunction &MF)
XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific informat...
int getLRSpillSlot() const
XCoreFunctionInfo(MachineFunction &MF)
const int * getEHSpillSlot() const
int getVarArgsFrameIndex() const
bool isLargeFrame(const MachineFunction &MF) const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
int getFPSpillSlot() const