LLVM 20.0.0git
|
Namespaces | |
namespace | RISCVExtensionBitmaskTable |
Classes | |
struct | CPUInfo |
struct | RISCVMaskedPseudoInfo |
struct | VLEPseudo |
struct | VLSEGPseudo |
struct | VLX_VSXPseudo |
struct | VLXSEGPseudo |
struct | VSEPseudo |
struct | VSSEGPseudo |
struct | VSXSEGPseudo |
Variables | |
static constexpr unsigned | RVVBitsPerBlock = 64 |
const RegisterBankInfo::PartialMapping | PartMappings [] |
const RegisterBankInfo::ValueMapping | ValueMappings [] |
static constexpr int64_t | VLMaxSentinel = -1LL |
static constexpr unsigned | FPMASK_Negative_Infinity = 0x001 |
static constexpr unsigned | FPMASK_Negative_Normal = 0x002 |
static constexpr unsigned | FPMASK_Negative_Subnormal = 0x004 |
static constexpr unsigned | FPMASK_Negative_Zero = 0x008 |
static constexpr unsigned | FPMASK_Positive_Zero = 0x010 |
static constexpr unsigned | FPMASK_Positive_Subnormal = 0x020 |
static constexpr unsigned | FPMASK_Positive_Normal = 0x040 |
static constexpr unsigned | FPMASK_Positive_Infinity = 0x080 |
static constexpr unsigned | FPMASK_Signaling_NaN = 0x100 |
static constexpr unsigned | FPMASK_Quiet_NaN = 0x200 |
constexpr CPUInfo | RISCVCPUInfo [] |
enum llvm::RISCV::CPUKind : unsigned |
Definition at line 23 of file RISCVTargetParser.cpp.
enum llvm::RISCV::Fixups |
Definition at line 19 of file RISCVFixupKinds.h.
Enumerator | |
---|---|
PMI_GPRB32 | |
PMI_GPRB64 | |
PMI_FPRB16 | |
PMI_FPRB32 | |
PMI_FPRB64 | |
PMI_VRB64 | |
PMI_VRB128 | |
PMI_VRB256 | |
PMI_VRB512 |
Definition at line 42 of file RISCVRegisterBankInfo.cpp.
Enumerator | |
---|---|
InvalidIdx | |
GPRB32Idx | |
GPRB64Idx | |
FPRB16Idx | |
FPRB32Idx | |
FPRB64Idx | |
VRB64Idx | |
VRB128Idx | |
VRB256Idx | |
VRB512Idx |
Definition at line 95 of file RISCVRegisterBankInfo.cpp.
bool llvm::RISCV::CC_RISCV | ( | const DataLayout & | DL, |
RISCVABI::ABI | ABI, | ||
unsigned | ValNo, | ||
MVT | ValVT, | ||
MVT | LocVT, | ||
CCValAssign::LocInfo | LocInfo, | ||
ISD::ArgFlagsTy | ArgFlags, | ||
CCState & | State, | ||
bool | IsFixed, | ||
bool | IsRet, | ||
Type * | OrigTy, | ||
const RISCVTargetLowering & | TLI, | ||
RVVArgDispatcher & | RVVDispatcher | ||
) |
Definition at line 18614 of file RISCVISelLowering.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, llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), ArgFPR16s, ArgFPR32s, ArgFPR64s, ArgGPRs, assert(), llvm::CCValAssign::BCvt, CC_RISCVAssign2XLen(), llvm::SmallVectorImpl< T >::clear(), DL, llvm::SmallVectorBase< Size_T >::empty(), llvm::CCValAssign::Full, getArgGPRs(), llvm::RISCVTargetLowering::getContainerForFixedLengthVector(), llvm::CCValAssign::getCustomMem(), llvm::CCValAssign::getCustomReg(), llvm::CCState::getFirstUnallocated(), llvm::CCValAssign::getMem(), llvm::RVVArgDispatcher::getNextPhysReg(), llvm::ISD::ArgFlagsTy::getNonZeroOrigAlign(), llvm::CCValAssign::getPending(), llvm::CCState::getPendingArgFlags(), llvm::CCState::getPendingLocs(), llvm::CCValAssign::getReg(), llvm::MVT::getScalarSizeInBits(), llvm::MVT::getStoreSize(), llvm::RISCVTargetLowering::getSubtarget(), llvm::RISCVSubtarget::hasVInstructions(), llvm::CCValAssign::Indirect, llvm::MVT::isFixedLengthVector(), llvm::MVT::isFloatingPoint(), llvm::ISD::ArgFlagsTy::isNest(), llvm::MVT::isScalableVector(), llvm::MVT::isScalarInteger(), llvm::ISD::ArgFlagsTy::isSplit(), llvm::ISD::ArgFlagsTy::isSplitEnd(), llvm::MVT::isVector(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorBase< Size_T >::size(), and llvm::MaybeAlign::valueOrOne().
Referenced by llvm::RISCVTargetLowering::CanLowerReturn(), llvm::RISCVCallLowering::lowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::RISCVCallLowering::lowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), and llvm::RISCVTargetLowering::LowerReturn().
bool llvm::RISCV::CC_RISCV_FastCC | ( | const DataLayout & | DL, |
RISCVABI::ABI | ABI, | ||
unsigned | ValNo, | ||
MVT | ValVT, | ||
MVT | LocVT, | ||
CCValAssign::LocInfo | LocInfo, | ||
ISD::ArgFlagsTy | ArgFlags, | ||
CCState & | State, | ||
bool | IsFixed, | ||
bool | IsRet, | ||
Type * | OrigTy, | ||
const RISCVTargetLowering & | TLI, | ||
RVVArgDispatcher & | RVVDispatcher | ||
) |
Definition at line 19091 of file RISCVISelLowering.cpp.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), llvm::RISCVTargetLowering::getContainerForFixedLengthVector(), getFastCCArgGPRs(), llvm::CCValAssign::getMem(), llvm::RVVArgDispatcher::getNextPhysReg(), llvm::CCValAssign::getReg(), llvm::MVT::getScalarSizeInBits(), llvm::MVT::getStoreSize(), llvm::RISCVTargetLowering::getSubtarget(), llvm::RISCVSubtarget::getXLenVT(), llvm::CCValAssign::Indirect, llvm::RISCVSubtarget::is64Bit(), llvm::MVT::isFixedLengthVector(), llvm::MVT::isVector(), and llvm::MaybeAlign::valueOrOne().
Referenced by llvm::RISCVCallLowering::lowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::RISCVCallLowering::lowerFormalArguments(), and llvm::RISCVTargetLowering::LowerFormalArguments().
bool llvm::RISCV::CC_RISCV_GHC | ( | unsigned | ValNo, |
MVT | ValVT, | ||
MVT | LocVT, | ||
CCValAssign::LocInfo | LocInfo, | ||
ISD::ArgFlagsTy | ArgFlags, | ||
CCState & | State | ||
) |
Definition at line 19208 of file RISCVISelLowering.cpp.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::getMachineFunction(), llvm::CCValAssign::getReg(), llvm::MachineFunction::getSubtarget(), llvm::RISCVSubtarget::is64Bit(), llvm::ISD::ArgFlagsTy::isNest(), and llvm::report_fatal_error().
Referenced by llvm::RISCVTargetLowering::LowerCall(), and llvm::RISCVTargetLowering::LowerFormalArguments().
void llvm::RISCV::fillValidCPUArchList | ( | SmallVectorImpl< StringRef > & | Values, |
bool | IsRV64 | ||
) |
Definition at line 92 of file RISCVTargetParser.cpp.
References llvm::CallingConv::C, llvm::SmallVectorImpl< T >::emplace_back(), and RISCVCPUInfo.
void llvm::RISCV::fillValidTuneCPUArchList | ( | SmallVectorImpl< StringRef > & | Values, |
bool | IsRV64 | ||
) |
Definition at line 99 of file RISCVTargetParser.cpp.
References llvm::CallingConv::C, llvm::SmallVectorImpl< T >::emplace_back(), and RISCVCPUInfo.
ArrayRef< MCPhysReg > llvm::RISCV::getArgGPRs | ( | const RISCVABI::ABI | ABI | ) |
Definition at line 18533 of file RISCVISelLowering.cpp.
References llvm::RISCVABI::ABI_ILP32E, and llvm::RISCVABI::ABI_LP64E.
Referenced by CC_RISCV(), CC_RISCVAssign2XLen(), and llvm::RISCVTargetLowering::LowerFormalArguments().
Definition at line 46 of file RISCVTargetParser.cpp.
References llvm::CallingConv::C, and RISCVCPUInfo.
Referenced by getMArchFromMcpu(), hasFastScalarUnalignedAccess(), hasFastVectorUnalignedAccess(), and parseCPU().
void llvm::RISCV::getFeaturesForCPU | ( | StringRef | CPU, |
SmallVectorImpl< std::string > & | EnabledFeatures, | ||
bool | NeedPlus = false |
||
) |
Definition at line 109 of file RISCVTargetParser.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::errorToBool(), F, getMArchFromMcpu(), llvm::RISCVISAInfo::parseArchString(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Definition at line 85 of file RISCVTargetParser.cpp.
References getCPUInfoByName(), and Info.
Referenced by getFeaturesForCPU().
|
inlinestatic |
Definition at line 87 of file RISCVFixupKinds.h.
References llvm::FirstLiteralRelocationKind, llvm_unreachable, and Size.
Referenced by llvm::RISCVAsmBackend::relaxDwarfLineAddr().
Definition at line 3998 of file RISCVInstrInfo.cpp.
References llvm::RISCVVPseudosTable::PseudoInfo::BaseInstr.
Referenced by llvm::RISCVInstrInfo::copyPhysRegVector(), llvm::RISCVInstrInfo::getReassociateOperandIndices(), INITIALIZE_PASS(), llvm::RISCVInstrInfo::isReallyTriviallyReMaterializable(), IsVMerge(), and vectorPseudoHasAllNBitUsers().
std::optional< unsigned > llvm::RISCV::getVectorLowDemandedScalarBits | ( | uint16_t | Opcode, |
unsigned | Log2SEW | ||
) |
Definition at line 3887 of file RISCVInstrInfo.cpp.
Referenced by vectorPseudoHasAllNBitUsers().
bool llvm::RISCV::hasEqualFRM | ( | const MachineInstr & | MI1, |
const MachineInstr & | MI2 | ||
) |
Definition at line 3874 of file RISCVInstrInfo.cpp.
References llvm::MachineOperand::getImm(), getNamedOperandIdx(), llvm::MachineInstr::getOpcode(), and llvm::MachineInstr::getOperand().
Referenced by canCombineFPFusedMultiply(), and llvm::RISCVInstrInfo::hasReassociableSibling().
Definition at line 53 of file RISCVTargetParser.cpp.
References getCPUInfoByName(), and Info.
Definition at line 58 of file RISCVTargetParser.cpp.
References getCPUInfoByName(), and Info.
bool llvm::RISCV::isFaultFirstLoad | ( | const MachineInstr & | MI | ) |
Definition at line 3869 of file RISCVInstrInfo.cpp.
References MI.
Referenced by lowerRISCVVMachineInstrToMCInst().
bool llvm::RISCV::isRVVSpill | ( | const MachineInstr & | MI | ) |
Definition at line 3818 of file RISCVInstrInfo.cpp.
References isRVVSpillForZvlsseg(), isRVVWholeLoadStore(), and MI.
Referenced by llvm::RISCVRegisterInfo::eliminateFrameIndex(), and getScavSlotsNumForRVV().
std::optional< std::pair< unsigned, unsigned > > llvm::RISCV::isRVVSpillForZvlsseg | ( | unsigned | Opcode | ) |
Definition at line 3829 of file RISCVInstrInfo.cpp.
Referenced by isRVVSpill(), llvm::RISCVRegisterInfo::lowerVRELOAD(), and llvm::RISCVRegisterInfo::lowerVSPILL().
bool llvm::RISCV::isSEXT_W | ( | const MachineInstr & | MI | ) |
Definition at line 3773 of file RISCVInstrInfo.cpp.
References MI.
Referenced by llvm::RISCVInstrInfo::foldMemoryOperandImpl().
bool llvm::RISCV::isZEXT_B | ( | const MachineInstr & | MI | ) |
Definition at line 3785 of file RISCVInstrInfo.cpp.
References MI.
Referenced by llvm::RISCVInstrInfo::foldMemoryOperandImpl().
bool llvm::RISCV::isZEXT_W | ( | const MachineInstr & | MI | ) |
Definition at line 3779 of file RISCVInstrInfo.cpp.
References MI.
Referenced by llvm::RISCVInstrInfo::foldMemoryOperandImpl().
Definition at line 63 of file RISCVTargetParser.cpp.
References getCPUInfoByName(), and Info.
Referenced by parseTuneCPU().
Definition at line 71 of file RISCVTargetParser.cpp.
References ENUM, parseCPU(), and TUNE_PROC.
|
staticconstexpr |
Definition at line 358 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 359 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 360 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 361 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 365 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 364 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 363 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 362 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 367 of file RISCVInstrInfo.h.
|
staticconstexpr |
Definition at line 366 of file RISCVInstrInfo.h.
const RegisterBankInfo::PartialMapping llvm::RISCV::PartMappings[] |
Definition at line 28 of file RISCVRegisterBankInfo.cpp.
|
constexpr |
Definition at line 39 of file RISCVTargetParser.cpp.
Referenced by fillValidCPUArchList(), fillValidTuneCPUArchList(), and getCPUInfoByName().
|
staticconstexpr |
Definition at line 36 of file RISCVTargetParser.h.
Referenced by computeKnownBitsFromOperator(), llvm::RISCVTargetLowering::computeVLMAX(), llvm::RISCVSubtarget::expandVScale(), getContainerForFixedLengthVector(), getLMUL1VT(), llvm::RISCVTTIImpl::getMaxVScale(), llvm::RISCVTargetLowering::getOptimalMemOpType(), llvm::RISCVTTIImpl::getRegisterBitWidth(), llvm::RISCVTTIImpl::getRegUsageForType(), llvm::RISCVTargetMachine::getSubtargetImpl(), llvm::RISCVTTIImpl::getVScaleForTuning(), isValidEGW(), llvm::RISCVTargetLowering::isVScaleKnownToBeAPowerOfTwo(), lowerGetVectorLength(), llvm::RISCVTargetLowering::LowerOperation(), llvm::RISCVTargetLowering::RISCVTargetLowering(), llvm::RISCVDAGToDAGISel::Select(), and llvm::RISCVSubtarget::useRVVForFixedLengthVectors().
const RegisterBankInfo::ValueMapping llvm::RISCV::ValueMappings[] |
Definition at line 54 of file RISCVRegisterBankInfo.cpp.
Referenced by getFPValueMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), and getVRBValueMapping().
|
staticconstexpr |
Definition at line 355 of file RISCVInstrInfo.h.
Referenced by llvm::RISCVDAGToDAGISel::selectVLOp().