|
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 | 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 349 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 702 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 823 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 395 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 302 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 208 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 225 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 260 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 280 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 242 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, llvm::RISCVABI::ABI_LP64E, and llvm::ArrayRef().
Referenced by CC_RISCV_FastCC().
Definition at line 92 of file RISCVCallingConv.cpp.
Referenced by llvm::RISCV::getArgFPRs().
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 101 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 104 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 106 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 107 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 153 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 165 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 112 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 157 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 118 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 161 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 124 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 131 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 138 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 144 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 97 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.