16 void XCoreFunctionInfo::anchor() { }
19 if (CachedEStackSize == -1) {
31 return CachedEStackSize > 0xf000;
46 TRI.getSpillAlign(RC),
true);
48 LRSpillSlotSet =
true;
61 FPSpillSlotSet =
true;
72 unsigned Size =
TRI.getSpillSize(RC);
73 Align Alignment =
TRI.getSpillAlign(RC);
76 EHSpillSlotSet =
true;
bool isVarArg() const
isVarArg - Return true if this function takes a variable number of arguments.
int createLRSpillSlot(MachineFunction &MF)
This class represents lattice values for constants.
virtual const TargetRegisterInfo * getRegisterInfo() const
getRegisterInfo - If register information is available, return it.
unsigned const TargetRegisterInfo * TRI
Function & getFunction()
Return the LLVM function that this machine code represents.
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted.
int createFPSpillSlot(MachineFunction &MF)
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
MachineFrameInfo & getFrameInfo()
getFrameInfo - Return the frame info object for the current function.
const int * createEHSpillSlot(MachineFunction &MF)
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
This struct is a compact representation of a valid (non-zero power of two) alignment.
int CreateFixedObject(uint64_t Size, int64_t SPOffset, bool IsImmutable, bool isAliased=false)
Create a new object at a fixed location on the stack.
uint64_t estimateStackSize(const MachineFunction &MF) const
Estimate and return the size of the stack frame.
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.