LLVM: llvm::RISCVMachineFunctionInfo Class Reference (original) (raw)
RISCVMachineFunctionInfo - This class is derived from MachineFunctionInfo and contains private RISCV-specific information for each MachineFunction. More...
#include "[Target/RISCV/RISCVMachineFunctionInfo.h](RISCVMachineFunctionInfo%5F8h%5Fsource.html)"
RISCVMachineFunctionInfo - This class is derived from MachineFunctionInfo and contains private RISCV-specific information for each MachineFunction.
Definition at line 47 of file RISCVMachineFunctionInfo.h.
◆ InterruptStackKind
| Enumerator |
| None |
| QCINest |
| QCINoNest |
| SiFiveCLICPreemptible |
| SiFiveCLICStackSwap |
| SiFiveCLICPreemptibleStackSwap |
Definition at line 159 of file RISCVMachineFunctionInfo.h.
◆ PushPopKind
◆ addSExt32Register()
| void RISCVMachineFunctionInfo::addSExt32Register |
( |
Register |
Reg |
) |
◆ clone()
◆ getBranchRelaxationScratchFrameIndex()
| int llvm::RISCVMachineFunctionInfo::getBranchRelaxationScratchFrameIndex ( ) const |
inline |
◆ getCalleeSavedStackSize()
| unsigned llvm::RISCVMachineFunctionInfo::getCalleeSavedStackSize ( ) const |
inline |
◆ getInterruptCSRFrameIndex()
| int llvm::RISCVMachineFunctionInfo::getInterruptCSRFrameIndex ( size_t Idx) const |
inline |
◆ getInterruptStackKind()
Definition at line 60 of file RISCVMachineFunctionInfo.cpp.
References assert(), llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), llvm::Function::getFnAttribute(), llvm::MachineFunction::getFunction(), llvm::Attribute::getValueAsString(), llvm::Function::hasFnAttribute(), None, QCINest, QCINoNest, SiFiveCLICPreemptible, SiFiveCLICPreemptibleStackSwap, and SiFiveCLICStackSwap.
Referenced by hasImplicitFPUpdates(), isSiFivePreemptibleInterrupt(), isSiFiveStackSwapInterrupt(), llvm::RISCVFrameLowering::spillCalleeSavedRegisters(), useQCIInterrupt(), and useSiFiveInterrupt().
◆ getLibCallStackSize()
| unsigned llvm::RISCVMachineFunctionInfo::getLibCallStackSize ( ) const |
inline |
◆ getMoveF64FrameIndex()
| int llvm::RISCVMachineFunctionInfo::getMoveF64FrameIndex ( MachineFunction & MF) |
inline |
◆ getPushPopKind()
Definition at line 88 of file RISCVMachineFunctionInfo.cpp.
References llvm::TargetOptions::DisableFramePointerElim(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), None, llvm::TargetMachine::Options, StdExtZcmp, useSiFiveInterrupt(), and VendorXqccmp.
Referenced by hasImplicitFPUpdates(), isPushable(), llvm::RISCVFrameLowering::restoreCalleeSavedRegisters(), and llvm::RISCVFrameLowering::spillCalleeSavedRegisters().
◆ getQCIInterruptStackSize()
| unsigned llvm::RISCVMachineFunctionInfo::getQCIInterruptStackSize ( ) const |
inline |
◆ getReservedSpillsSize()
| unsigned llvm::RISCVMachineFunctionInfo::getReservedSpillsSize ( ) const |
inline |
◆ getRVPushRegs()
| unsigned llvm::RISCVMachineFunctionInfo::getRVPushRegs ( ) const |
inline |
◆ getRVPushStackSize()
| unsigned llvm::RISCVMachineFunctionInfo::getRVPushStackSize ( ) const |
inline |
◆ getRVVPadding()
| uint64_t llvm::RISCVMachineFunctionInfo::getRVVPadding ( ) const |
inline |
◆ getRVVStackAlign()
| Align llvm::RISCVMachineFunctionInfo::getRVVStackAlign ( ) const |
inline |
◆ getRVVStackSize()
| uint64_t llvm::RISCVMachineFunctionInfo::getRVVStackSize ( ) const |
inline |
◆ getVarArgsFrameIndex()
| int llvm::RISCVMachineFunctionInfo::getVarArgsFrameIndex ( ) const |
inline |
◆ getVarArgsSaveSize()
| unsigned llvm::RISCVMachineFunctionInfo::getVarArgsSaveSize ( ) const |
inline |
◆ hasDynamicAllocation()
| bool llvm::RISCVMachineFunctionInfo::hasDynamicAllocation ( ) const |
inline |
◆ hasImplicitFPUpdates()
◆ initializeBaseYamlFields()
◆ isPushable()
◆ isSExt32Register()
| bool RISCVMachineFunctionInfo::isSExt32Register |
( |
Register |
Reg |
) |
const |
◆ isSiFivePreemptibleInterrupt()
◆ isSiFiveStackSwapInterrupt()
◆ isVectorCall()
| bool llvm::RISCVMachineFunctionInfo::isVectorCall ( ) const |
inline |
◆ pushInterruptCSRFrameIndex()
| void llvm::RISCVMachineFunctionInfo::pushInterruptCSRFrameIndex ( int FI) |
inline |
◆ setBranchRelaxationScratchFrameIndex()
| void llvm::RISCVMachineFunctionInfo::setBranchRelaxationScratchFrameIndex ( int Index) |
inline |
◆ setCalleeSavedStackSize()
| void llvm::RISCVMachineFunctionInfo::setCalleeSavedStackSize ( unsigned Size) |
inline |
◆ setDynamicAllocation()
| void llvm::RISCVMachineFunctionInfo::setDynamicAllocation ( ) |
inline |
◆ setIsVectorCall()
| void llvm::RISCVMachineFunctionInfo::setIsVectorCall ( ) |
inline |
◆ setLibCallStackSize()
| void llvm::RISCVMachineFunctionInfo::setLibCallStackSize ( unsigned Size) |
inline |
◆ setQCIInterruptStackSize()
| void llvm::RISCVMachineFunctionInfo::setQCIInterruptStackSize ( unsigned Size) |
inline |
◆ setRVPushRegs()
| void llvm::RISCVMachineFunctionInfo::setRVPushRegs ( unsigned Regs) |
inline |
◆ setRVPushStackSize()
| void llvm::RISCVMachineFunctionInfo::setRVPushStackSize ( unsigned Size) |
inline |
◆ setRVVPadding()
| void llvm::RISCVMachineFunctionInfo::setRVVPadding ( uint64_t Padding) |
inline |
◆ setRVVStackAlign()
| void llvm::RISCVMachineFunctionInfo::setRVVStackAlign ( Align StackAlign) |
inline |
◆ setRVVStackSize()
| void llvm::RISCVMachineFunctionInfo::setRVVStackSize ( uint64_t Size) |
inline |
◆ setVarArgsFrameIndex()
| void llvm::RISCVMachineFunctionInfo::setVarArgsFrameIndex ( int Index) |
inline |
◆ setVarArgsSaveSize()
| void llvm::RISCVMachineFunctionInfo::setVarArgsSaveSize ( int Size) |
inline |
◆ useQCIInterrupt()
◆ useSaveRestoreLibCalls()
◆ useSiFiveInterrupt()
The documentation for this class was generated from the following files: