LLVM 20.0.0git
|
This file implements the targeting of the RegisterBankInfo class for RISC-V. More...
#include "RISCVRegisterBankInfo.h"
#include "MCTargetDesc/RISCVMCTargetDesc.h"
#include "RISCVSubtarget.h"
#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterBank.h"
#include "llvm/CodeGen/RegisterBankInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "RISCVGenRegisterBank.inc"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::RISCV |
Macros | |
#define | GET_TARGET_REGBANK_IMPL |
Enumerations | |
enum | llvm::RISCV::PartialMappingIdx { llvm::RISCV::PMI_GPRB32 = 0 , llvm::RISCV::PMI_GPRB64 = 1 , llvm::RISCV::PMI_FPRB16 = 2 , llvm::RISCV::PMI_FPRB32 = 3 , llvm::RISCV::PMI_FPRB64 = 4 , llvm::RISCV::PMI_VRB64 = 5 , llvm::RISCV::PMI_VRB128 = 6 , llvm::RISCV::PMI_VRB256 = 7 , llvm::RISCV::PMI_VRB512 = 8 } |
enum | llvm::RISCV::ValueMappingIdx { llvm::RISCV::InvalidIdx = 0 , llvm::RISCV::GPRB32Idx = 1 , llvm::RISCV::GPRB64Idx = 4 , llvm::RISCV::FPRB16Idx = 7 , llvm::RISCV::FPRB32Idx = 10 , llvm::RISCV::FPRB64Idx = 13 , llvm::RISCV::VRB64Idx = 16 , llvm::RISCV::VRB128Idx = 19 , llvm::RISCV::VRB256Idx = 22 , llvm::RISCV::VRB512Idx = 25 } |
Functions | |
static const RegisterBankInfo::ValueMapping * | getFPValueMapping (unsigned Size) |
static const RegisterBankInfo::ValueMapping * | getVRBValueMapping (unsigned Size) |
Variables | |
const RegisterBankInfo::PartialMapping | llvm::RISCV::PartMappings [] |
const RegisterBankInfo::ValueMapping | llvm::RISCV::ValueMappings [] |
This file implements the targeting of the RegisterBankInfo class for RISC-V.
Definition in file RISCVRegisterBankInfo.cpp.
#define GET_TARGET_REGBANK_IMPL |
Definition at line 22 of file RISCVRegisterBankInfo.cpp.
|
static |
Definition at line 115 of file RISCVRegisterBankInfo.cpp.
References llvm::RISCV::FPRB16Idx, llvm::RISCV::FPRB32Idx, llvm::RISCV::FPRB64Idx, Idx, llvm_unreachable, Size, and llvm::RISCV::ValueMappings.
Referenced by llvm::RISCVRegisterBankInfo::getInstrMapping().
|
static |
Definition at line 188 of file RISCVRegisterBankInfo.cpp.
References Idx, llvm::report_fatal_error(), Size, llvm::RISCV::ValueMappings, llvm::RISCV::VRB128Idx, llvm::RISCV::VRB256Idx, llvm::RISCV::VRB512Idx, and llvm::RISCV::VRB64Idx.
Referenced by llvm::RISCVRegisterBankInfo::getInstrMapping().