|
LLVM 23.0.0git
|
#include "RISCVCallingConv.h"#include "RISCVMachineFunctionInfo.h"#include "RISCVSubtarget.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/Module.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 | 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 321 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 667 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 788 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 367 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::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::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 274 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 180 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 197 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 232 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 252 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 214 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, and llvm::ArrayRef().
Referenced by CC_RISCV_FastCC().
Definition at line 83 of file RISCVCallingConv.cpp.
Referenced by CC_RISCV_Impl().
Definition at line 86 of file RISCVCallingConv.cpp.
Definition at line 89 of file RISCVCallingConv.cpp.
Definition at line 97 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 100 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 102 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 103 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 149 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 161 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 108 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 153 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 114 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 157 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 120 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 127 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 134 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 140 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 93 of file RISCVCallingConv.cpp.
|
static |
Used for assigning arguments with CallingConvention::Fast.
Definition at line 33 of file RISCVCallingConv.cpp.
|
static |
Used for assigning arguments with CallingConvention::GHC.
Definition at line 30 of file RISCVCallingConv.cpp.