|
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 346 of file RISCVCallingConv.cpp.
References ArgVRM2s, ArgVRM4s, ArgVRM8s, ArgVRN2M1s, ArgVRN2M2s, ArgVRN2M4s, ArgVRN3M1s, ArgVRN3M2s, ArgVRN4M1s, ArgVRN4M2s, ArgVRN5M1s, ArgVRN6M1s, ArgVRN7M1s, ArgVRN8M1s, ArgVRs, llvm::MVT::getVectorElementType(), llvm_unreachable, Reg, and TLI.
Referenced by CC_RISCV_FastCC(), and CC_RISCV_Impl().
|
static |
Definition at line 699 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::CCValAssign::Indirect, llvm::MVT::isFixedLengthVector(), llvm::MVT::isScalableVector(), llvm::MVT::isVector(), llvm::Offset, Reg, Subtarget, TLI, and llvm::MaybeAlign::valueOrOne().
|
static |
Definition at line 820 of file RISCVCallingConv.cpp.
References llvm::CCValAssign::getReg(), llvm::ISD::ArgFlagsTy::isNest(), Reg, llvm::report_fatal_error(), and Subtarget.
|
static |
Definition at line 392 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::CCValAssign::Indirect, llvm::MVT::isFixedLengthVector(), llvm::MVT::isFloatingPoint(), llvm::ISD::ArgFlagsTy::isNest(), 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(), Subtarget, TLI, and llvm::MaybeAlign::valueOrOne().
|
static |
Definition at line 299 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::CCValAssign::getValNo(), llvm::CCValAssign::getValVT(), Reg, and Subtarget.
Referenced by CC_RISCV_Impl().
|
static |
Definition at line 205 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 222 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 257 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 277 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 239 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.