|
LLVM 24.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 356 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 709 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 830 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 402 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 309 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 215 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_Impl().
|
static |
Definition at line 267 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 287 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 249 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.