Go to the documentation of this file.
16 void XCoreFunctionInfo::anchor() { }
19 if (CachedEStackSize == -1) {
31 return CachedEStackSize > 0xf000;
48 LRSpillSlotSet =
true;
61 FPSpillSlotSet =
true;
76 EHSpillSlotSet =
true;
uint64_t estimateStackSize(const MachineFunction &MF) const
Estimate and return the size of the stack frame.
This is an optimization pass for GlobalISel generic memory operations.
int createLRSpillSlot(MachineFunction &MF)
virtual const TargetRegisterInfo * getRegisterInfo() const
getRegisterInfo - If register information is available, return it.
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
int createFPSpillSlot(MachineFunction &MF)
unsigned const TargetRegisterInfo * TRI
This struct is a compact representation of a valid (non-zero power of two) alignment.
Align getSpillAlign(const TargetRegisterClass &RC) const
Return the minimum required alignment in bytes for a spill slot for a register of this class.
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
unsigned getSpillSize(const TargetRegisterClass &RC) const
Return the size in bytes of the stack slot allocated to hold a spilled copy of a register from class ...
int CreateFixedObject(uint64_t Size, int64_t SPOffset, bool IsImmutable, bool isAliased=false)
Create a new object at a fixed location on the stack.
MachineFrameInfo & getFrameInfo()
getFrameInfo - Return the frame info object for the current function.
bool isLargeFrame(const MachineFunction &MF) const
int CreateStackObject(uint64_t Size, Align Alignment, bool isSpillSlot, const AllocaInst *Alloca=nullptr, uint8_t ID=0)
Create a new statically sized stack object, returning a nonnegative identifier to represent it.
Function & getFunction()
Return the LLVM function that this machine code represents.
bool isVarArg() const
isVarArg - Return true if this function takes a variable number of arguments.
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted.
const int * createEHSpillSlot(MachineFunction &MF)