LLVM 22.0.0git
RISCVTargetParser.cpp File Reference
#include "llvm/TargetParser/RISCVTargetParser.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/TargetParser/RISCVISAInfo.h"
#include "llvm/TargetParser/RISCVTargetParserDef.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
namespace  llvm::RISCVVType

Macros

#define PROC(ENUM, NAME, DEFAULT_MARCH, FAST_SCALAR_UNALIGN, FAST_VECTOR_UNALIGN, MVENDORID, MARCHID, MIMPID)
#define TUNE_PROC(ENUM, NAME)
#define PROC(ENUM, NAME, DEFAULT_MARCH, FAST_SCALAR_UNALIGN, FAST_VECTOR_UNALIGN, MVENDORID, MARCHID, MIMPID)
#define TUNE_PROC(ENUM, NAME)
#define TUNE_PROC(ENUM, NAME)

Enumerations

enum  llvm::RISCV::CPUKind : unsigned

Functions

static const CPUInfollvm::RISCV::getCPUInfoByName (StringRef CPU)
LLVM_ABI bool llvm::RISCV::hasFastScalarUnalignedAccess (StringRef CPU)
LLVM_ABI bool llvm::RISCV::hasFastVectorUnalignedAccess (StringRef CPU)
LLVM_ABI bool llvm::RISCV::hasValidCPUModel (StringRef CPU)
LLVM_ABI CPUModel llvm::RISCV::getCPUModel (StringRef CPU)
LLVM_ABI StringRef llvm::RISCV::getCPUNameFromCPUModel (const CPUModel &Model)
LLVM_ABI bool llvm::RISCV::parseCPU (StringRef CPU, bool IsRV64)
LLVM_ABI bool llvm::RISCV::parseTuneCPU (StringRef CPU, bool IsRV64)
LLVM_ABI StringRef llvm::RISCV::getMArchFromMcpu (StringRef CPU)
LLVM_ABI void llvm::RISCV::fillValidCPUArchList (SmallVectorImpl< StringRef > &Values, bool IsRV64)
LLVM_ABI void llvm::RISCV::fillValidTuneCPUArchList (SmallVectorImpl< StringRef > &Values, bool IsRV64)
LLVM_ABI void llvm::RISCV::getFeaturesForCPU (StringRef CPU, SmallVectorImpl< std::string > &EnabledFeatures, bool NeedPlus=false)
LLVM_ABI unsigned llvm::RISCVVType::encodeVTYPE (VLMUL VLMUL, unsigned SEW, bool TailAgnostic, bool MaskAgnostic, bool AltFmt=false)
LLVM_ABI unsigned llvm::RISCVVType::encodeXSfmmVType (unsigned SEW, unsigned Widen, bool AltFmt)
LLVM_ABI std::pair< unsigned, boolllvm::RISCVVType::decodeVLMUL (VLMUL VLMul)
LLVM_ABI void llvm::RISCVVType::printVType (unsigned VType, raw_ostream &OS)
LLVM_ABI unsigned llvm::RISCVVType::getSEWLMULRatio (unsigned SEW, VLMUL VLMul)
LLVM_ABI std::optional< VLMULllvm::RISCVVType::getSameRatioLMUL (unsigned SEW, VLMUL VLMUL, unsigned EEW)

Variables

constexpr CPUInfo llvm::RISCV::RISCVCPUInfo []

Macro Definition Documentation

◆ PROC [1/2]

#define PROC ( ENUM,
NAME,
DEFAULT_MARCH,
FAST_SCALAR_UNALIGN,
FAST_VECTOR_UNALIGN,
MVENDORID,
MARCHID,
MIMPID )
Value:
CK_##ENUM,
#define ENUM(Name,...)
Definition ClauseT.h:61

Definition at line 23 of file RISCVTargetParser.cpp.

◆ PROC [2/2]

#define PROC ( ENUM,
NAME,
DEFAULT_MARCH,
FAST_SCALAR_UNALIGN,
FAST_VECTOR_UNALIGN,
MVENDORID,
MARCHID,
MIMPID )
Value:
{ \
NAME, \
DEFAULT_MARCH, \
FAST_SCALAR_UNALIGN, \
FAST_VECTOR_UNALIGN, \
{MVENDORID, MARCHID, MIMPID}, \
},

Definition at line 23 of file RISCVTargetParser.cpp.

◆ TUNE_PROC [1/3]

#define TUNE_PROC ( ENUM,
NAME )
Value:
CK_##ENUM,

Definition at line 26 of file RISCVTargetParser.cpp.

Referenced by llvm::RISCV::parseTuneCPU().

◆ TUNE_PROC [2/3]

#define TUNE_PROC ( ENUM,
NAME )
Value:
.Case(NAME, CK_##ENUM)

Definition at line 26 of file RISCVTargetParser.cpp.

◆ TUNE_PROC [3/3]

#define TUNE_PROC ( ENUM,
NAME )
Value:
Values.emplace_back(StringRef(NAME));

Definition at line 26 of file RISCVTargetParser.cpp.