14 #ifndef LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H
15 #define LLVM_LIB_TARGET_XCORE_XCOREMACHINEFUNCTIONINFO_H
29 virtual void anchor();
36 unsigned ReturnStackOffset;
37 bool ReturnStackOffsetSet;
38 int VarArgsFrameIndex;
39 mutable int CachedEStackSize;
40 std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>>
45 LRSpillSlotSet(
false),
46 FPSpillSlotSet(
false),
47 EHSpillSlotSet(
false),
48 ReturnStackOffsetSet(
false),
50 CachedEStackSize(-1) {}
53 LRSpillSlotSet(
false),
54 FPSpillSlotSet(
false),
55 EHSpillSlotSet(
false),
56 ReturnStackOffsetSet(
false),
58 CachedEStackSize(-1) {}
68 assert(LRSpillSlotSet &&
"LR Spill slot not set");
75 assert(FPSpillSlotSet &&
"FP Spill slot not set");
82 assert(EHSpillSlotSet &&
"EH Spill slot not set");
87 assert(!ReturnStackOffsetSet &&
"Return stack offset set twice");
88 ReturnStackOffset = value;
89 ReturnStackOffsetSet =
true;
93 assert(ReturnStackOffsetSet &&
"Return stack offset not set");
94 return ReturnStackOffset;
99 std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>> &
int createLRSpillSlot(MachineFunction &MF)
void setVarArgsFrameIndex(int off)
std::vector< std::pair< MachineBasicBlock::iterator, CalleeSavedInfo > > & getSpillLabels()
unsigned getReturnStackOffset() const
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
int getVarArgsFrameIndex() const
void setReturnStackOffset(unsigned value)
Function Alias Analysis false
const int * getEHSpillSlot() const
int createFPSpillSlot(MachineFunction &MF)
const int * createEHSpillSlot(MachineFunction &MF)
XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific informat...
bool isLargeFrame(const MachineFunction &MF) const
int getFPSpillSlot() const
XCoreFunctionInfo(MachineFunction &MF)
int getLRSpillSlot() const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())