LLVM 22.0.0git
|
#include "RISCVCallingConv.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.
Functions | |
static ArrayRef< MCPhysReg > | getArgGPR16s (const RISCVABI::ABI ABI) |
static ArrayRef< MCPhysReg > | getArgGPR32s (const RISCVABI::ABI ABI) |
static ArrayRef< MCPhysReg > | getFastCCArgGPRs (const RISCVABI::ABI ABI) |
static ArrayRef< MCPhysReg > | getFastCCArgGPRF16s (const RISCVABI::ABI ABI) |
static ArrayRef< MCPhysReg > | getFastCCArgGPRF32s (const RISCVABI::ABI ABI) |
static bool | CC_RISCVAssign2XLen (unsigned XLen, CCState &State, CCValAssign VA1, ISD::ArgFlagsTy ArgFlags1, unsigned ValNo2, MVT ValVT2, MVT LocVT2, ISD::ArgFlagsTy ArgFlags2, bool EABI) |
static MCRegister | allocateRVVReg (MVT ValVT, unsigned ValNo, CCState &State, const RISCVTargetLowering &TLI) |
Variables | |
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 281 of file RISCVCallingConv.cpp.
References llvm::CCState::AllocateReg(), ArgVRM2s, ArgVRM4s, ArgVRM8s, ArgVRN2M1s, ArgVRN2M2s, ArgVRN2M4s, ArgVRN3M1s, ArgVRN3M2s, ArgVRN4M1s, ArgVRN4M2s, ArgVRN5M1s, ArgVRN6M1s, ArgVRN7M1s, ArgVRN8M1s, ArgVRs, llvm::TargetLoweringBase::getRegClassFor(), llvm::MVT::getVectorElementType(), and llvm_unreachable.
Referenced by llvm::CC_RISCV(), and llvm::CC_RISCV_FastCC().
|
static |
Definition at line 237 of file RISCVCallingConv.cpp.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), ArgGPRs, llvm::CCValAssign::Full, llvm::RISCV::getArgGPRs(), llvm::CCValAssign::getLocVT(), llvm::CCState::getMachineFunction(), llvm::CCValAssign::getMem(), llvm::ISD::ArgFlagsTy::getNonZeroOrigAlign(), llvm::CCValAssign::getReg(), llvm::MachineFunction::getSubtarget(), llvm::RISCVSubtarget::getTargetABI(), llvm::CCValAssign::getValNo(), and llvm::CCValAssign::getValVT().
Referenced by llvm::CC_RISCV().
|
static |
Definition at line 143 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, and llvm::RISCVABI::ABI_LP64E.
Referenced by llvm::CC_RISCV().
|
static |
Definition at line 160 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, and llvm::RISCVABI::ABI_LP64E.
Referenced by llvm::CC_RISCV().
|
static |
Definition at line 195 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, and llvm::RISCVABI::ABI_LP64E.
Referenced by llvm::CC_RISCV_FastCC().
|
static |
Definition at line 215 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, and llvm::RISCVABI::ABI_LP64E.
Referenced by llvm::CC_RISCV_FastCC().
|
static |
Definition at line 177 of file RISCVCallingConv.cpp.
References llvm::RISCVABI::ABI_ILP32E, and llvm::RISCVABI::ABI_LP64E.
Referenced by llvm::CC_RISCV_FastCC().
Definition at line 46 of file RISCVCallingConv.cpp.
Referenced by llvm::CC_RISCV().
Definition at line 49 of file RISCVCallingConv.cpp.
Referenced by llvm::CC_RISCV().
Definition at line 52 of file RISCVCallingConv.cpp.
Referenced by llvm::CC_RISCV().
Definition at line 60 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 63 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 65 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 66 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 112 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 124 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 71 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 116 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 77 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 120 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 83 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 90 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 97 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 103 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
Definition at line 56 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().