|
LLVM 24.0.0git
|
#include "RISCVCallingConv.h"#include "RISCVMachineFunctionInfo.h"#include "RISCVSubtarget.h"#include "llvm/IR/DataLayout.h"#include "llvm/MC/MCRegister.h"Go to the source code of this file.
Variables | |
| static CCAssignFn | CC_RISCV_GHC |
| Used for assigning arguments with CallingConvention::GHC. | |
| static CCAssignFn | CC_RISCV_FastCC |
| Used for assigning arguments with CallingConvention::Fast. | |
| static const MCPhysReg | ArgFPR16s [] |
| static const MCPhysReg | ArgFPR32s [] |
| static const MCPhysReg | ArgFPR64s [] |
| static const MCPhysReg | ArgFPR128s [] |
| static const MCPhysReg | ArgVRs [] |
| static const MCPhysReg | ArgVRM2s [] |
| static const MCPhysReg | ArgVRM4s [] |
| static const MCPhysReg | ArgVRM8s [] = {RISCV::V8M8, RISCV::V16M8} |
| static const MCPhysReg | ArgVRN2M1s [] |
| static const MCPhysReg | ArgVRN3M1s [] |
| static const MCPhysReg | ArgVRN4M1s [] |
| static const MCPhysReg | ArgVRN5M1s [] |
| static const MCPhysReg | ArgVRN6M1s [] |
| static const MCPhysReg | ArgVRN7M1s [] |
| static const MCPhysReg | ArgVRN8M1s [] |
| static const MCPhysReg | ArgVRN2M2s [] |
| static const MCPhysReg | ArgVRN3M2s [] |
| static const MCPhysReg | ArgVRN4M2s [] |
| static const MCPhysReg | ArgVRN2M4s [] |
|
static |
Definition at line 355 of file RISCVCallingConv.cpp.
References ArgVRM2s, ArgVRM4s, ArgVRM8s, ArgVRN2M1s, ArgVRN2M2s, ArgVRN2M4s, ArgVRN3M1s, ArgVRN3M2s, ArgVRN4M1s, ArgVRN4M2s, ArgVRN5M1s, ArgVRN6M1s, ArgVRN7M1s, ArgVRN8M1s, ArgVRs, llvm::TargetLoweringBase::getRegClassFor(), llvm::MVT::getVectorElementType(), llvm_unreachable, and Reg.
Referenced by CC_RISCV_FastCC(), and CC_RISCV_Impl().
|
static |
Definition at line 708 of file RISCVCallingConv.cpp.
References allocateRVVReg(), ArgGPRs, llvm::CCValAssign::getCustomReg(), getFastCCArgGPRF16s(), getFastCCArgGPRF32s(), getFastCCArgGPRs(), llvm::CCValAssign::getMem(), llvm::CCValAssign::getReg(), llvm::MVT::getScalarSizeInBits(), llvm::MVT::getSizeInBits(), llvm::MVT::getStoreSize(), llvm::MachineFunction::getSubtarget(), llvm::RISCVSubtarget::getTargetABI(), llvm::RISCVSubtarget::getTargetLowering(), llvm::RISCVSubtarget::getXLen(), llvm::RISCVSubtarget::getXLenVT(), llvm::CCValAssign::Indirect, llvm::RISCVSubtarget::is64Bit(), llvm::MVT::isFixedLengthVector(), llvm::MVT::isScalableVector(), llvm::MVT::isVector(), llvm::Offset, Reg, and llvm::MaybeAlign::valueOrOne().
|
static |
Definition at line 829 of file RISCVCallingConv.cpp.
References llvm::CCValAssign::getReg(), llvm::RISCVSubtarget::is64Bit(), llvm::ISD::ArgFlagsTy::isNest(), Reg, and llvm::report_fatal_error().
|
static |
Definition at line 401 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32, llvm::RISCVABI::ABI_ILP32D, llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_ILP32F, llvm::RISCVABI::ABI_LP64, llvm::RISCVABI::ABI_LP64D, llvm::RISCVABI::ABI_LP64E, llvm::RISCVABI::ABI_LP64F, allocateRVVReg(), ArgFPR16s, ArgFPR32s, ArgFPR64s, ArgGPRs, assert(), llvm::CCValAssign::BCvt, CC_RISCVAssign2XLen(), llvm::SmallVectorImpl< T >::clear(), DL, llvm::SmallVectorTemplateCommon< T, typename >::empty(), getArgGPR16s(), getArgGPR32s(), llvm::RISCV::getArgGPRs(), llvm::CCValAssign::getCustomMem(), llvm::CCValAssign::getCustomReg(), llvm::MachineFunction::getDataLayout(), llvm::MachineFunction::getInfo(), llvm::CCValAssign::getMem(), llvm::ISD::ArgFlagsTy::getNonZeroOrigAlign(), llvm::CCValAssign::getPending(), llvm::CCValAssign::getReg(), llvm::MVT::getScalarSizeInBits(), llvm::MVT::getSizeInBits(), llvm::MVT::getStoreSize(), llvm::MachineFunction::getSubtarget(), llvm::RISCVSubtarget::getTargetABI(), llvm::RISCVSubtarget::getTargetLowering(), llvm::RISCVSubtarget::getXLen(), llvm::RISCVSubtarget::getXLenVT(), llvm::CCValAssign::Indirect, llvm::MVT::isFixedLengthVector(), llvm::MVT::isFloatingPoint(), llvm::ISD::ArgFlagsTy::isNest(), llvm::RISCVSubtarget::isPExtPackedDoubleType(), llvm::RISCVSubtarget::isPExtPackedType(), llvm::MVT::isRISCVVectorTuple(), llvm::MVT::isScalableVector(), llvm::MVT::isScalarInteger(), llvm::ISD::ArgFlagsTy::isSplit(), llvm::ISD::ArgFlagsTy::isSplitEnd(), llvm::ISD::ArgFlagsTy::isVarArg(), llvm::MVT::isVector(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Reg, llvm::reportFatalUsageError(), llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::MaybeAlign::valueOrOne().
|
static |
Definition at line 308 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, ArgGPRs, llvm::CCValAssign::Full, llvm::RISCV::getArgGPRs(), llvm::CCValAssign::getLocVT(), llvm::CCValAssign::getMem(), llvm::ISD::ArgFlagsTy::getNonZeroOrigAlign(), llvm::CCValAssign::getReg(), llvm::RISCVSubtarget::getTargetABI(), llvm::CCValAssign::getValNo(), llvm::CCValAssign::getValVT(), llvm::RISCVSubtarget::getXLen(), and Reg.
Referenced by CC_RISCV_Impl().
|
static |
Definition at line 214 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, and llvm::ArrayRef().
Referenced by CC_RISCV_Impl().
|
static |
Definition at line 231 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, and llvm::ArrayRef().
Referenced by CC_RISCV_Impl().
|
static |
Definition at line 266 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, and llvm::ArrayRef().
Referenced by CC_RISCV_FastCC().
|
static |
Definition at line 286 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, and llvm::ArrayRef().
Referenced by CC_RISCV_FastCC().
|
static |
Definition at line 248 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, and llvm::ArrayRef().
Referenced by CC_RISCV_FastCC().
Definition at line 91 of file RISCVCallingConv.cpp.
Referenced by llvm::RISCV::getArgFPRs().
Definition at line 82 of file RISCVCallingConv.cpp.
Referenced by CC_RISCV_Impl().
Definition at line 85 of file RISCVCallingConv.cpp.
Definition at line 88 of file RISCVCallingConv.cpp.
Definition at line 100 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 103 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 105 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 106 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 152 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 164 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 111 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 156 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 117 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 160 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 123 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 130 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 137 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 143 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 96 of file RISCVCallingConv.cpp.
|
static |
Used for assigning arguments with CallingConvention::Fast.
Definition at line 32 of file RISCVCallingConv.cpp.
|
static |
Used for assigning arguments with CallingConvention::GHC.
Definition at line 29 of file RISCVCallingConv.cpp.