Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_RISCV_RISCVMACHINEFUNCTIONINFO_H
14 #define LLVM_LIB_TARGET_RISCV_RISCVMACHINEFUNCTIONINFO_H
23 class RISCVMachineFunctionInfo;
50 int VarArgsFrameIndex = 0;
52 int VarArgsSaveSize = 0;
55 int MoveF64FrameIndex = -1;
57 unsigned LibCallStackSize = 0;
63 unsigned CalleeSavedStackSize = 0;
75 if (MoveF64FrameIndex == -1)
78 return MoveF64FrameIndex;
106 #endif // LLVM_LIB_TARGET_RISCV_RISCVMACHINEFUNCTIONINFO_H
This is an optimization pass for GlobalISel generic memory operations.
void setRVVStackSize(uint64_t Size)
Targets should override this in a way that mirrors the implementation of llvm::MachineFunctionInfo.
void setLibCallStackSize(unsigned Size)
unsigned getLibCallStackSize() const
unsigned getCalleeSavedStackSize() const
void setRVVPadding(uint64_t Padding)
int getMoveF64FrameIndex(MachineFunction &MF)
uint64_t getRVVStackSize() const
RISCVMachineFunctionInfo()=default
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
bool hasFnAttribute(Attribute::AttrKind Kind) const
Return true if the function has the attribute.
unsigned getVarArgsSaveSize() const
RISCVMachineFunctionInfo - This class is derived from MachineFunctionInfo and contains private RISCV-...
bool useSaveRestoreLibCalls(const MachineFunction &MF) const
static void mapping(IO &YamlIO, RISCVMachineFunctionInfo &MFI)
MachineFrameInfo & getFrameInfo()
getFrameInfo - Return the frame info object for the current function.
~RISCVMachineFunctionInfo()=default
void setCalleeSavedStackSize(unsigned Size)
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.
int getVarArgsFrameIndex() const
void setVarArgsFrameIndex(int Index)
void mappingImpl(yaml::IO &YamlIO) override
void initializeBaseYamlFields(const yaml::RISCVMachineFunctionInfo &YamlMFI)
RISCVMachineFunctionInfo(const MachineFunction &MF)
bool hasTailCall() const
Returns true if the function contains a tail call.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
uint64_t getRVVPadding() const
void setVarArgsSaveSize(int Size)