clang 22.0.0git
clang::RISCV::PrototypeDescriptor Struct Reference

#include "clang/Support/RISCVVIntrinsicUtils.h"

Public Member Functions

constexpr PrototypeDescriptor ()=default
constexpr PrototypeDescriptor (BaseTypeModifier PT, VectorTypeModifier VTM=VectorTypeModifier::NoModifier, TypeModifier TM=TypeModifier::NoModifier)
constexpr PrototypeDescriptor (uint8_t PT, uint8_t VTM, uint8_t TM)
bool operator!= (const PrototypeDescriptor &PD) const
bool operator== (const PrototypeDescriptor &PD) const
bool operator< (const PrototypeDescriptor &PD) const

Static Public Member Functions

static std::optional< PrototypeDescriptorparsePrototypeDescriptor (llvm::StringRef PrototypeStr)

Public Attributes

uint8_t PT = static_cast<uint8_t>(BaseTypeModifier::Invalid)
uint8_t VTM = static_cast<uint8_t>(VectorTypeModifier::NoModifier)
uint8_t TM = static_cast<uint8_t>(TypeModifier::NoModifier)

Static Public Attributes

static const PrototypeDescriptor Mask
static const PrototypeDescriptor Vector
static const PrototypeDescriptor VL

Detailed Description

Definition at line 170 of file RISCVVIntrinsicUtils.h.

Constructor & Destructor Documentation

◆ PrototypeDescriptor() [1/3]

clang::RISCV::PrototypeDescriptor::PrototypeDescriptor ( )
constexprdefault

◆ PrototypeDescriptor() [2/3]

clang::RISCV::PrototypeDescriptor::PrototypeDescriptor ( BaseTypeModifier PT,
VectorTypeModifier VTM = VectorTypeModifier::NoModifier,
TypeModifier TM = TypeModifier::NoModifier )
inlineconstexpr

Definition at line 172 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::NoModifier, PT, TM, and VTM.

◆ PrototypeDescriptor() [3/3]

clang::RISCV::PrototypeDescriptor::PrototypeDescriptor ( uint8_t PT,
uint8_t VTM,
uint8_t TM )
inlineconstexpr

Definition at line 178 of file RISCVVIntrinsicUtils.h.

References PT, TM, and VTM.

Member Function Documentation

◆ operator!=()

bool clang::RISCV::PrototypeDescriptor::operator!= ( const PrototypeDescriptor & PD) const
inline

Definition at line 185 of file RISCVVIntrinsicUtils.h.

References PrototypeDescriptor().

◆ operator<()

bool clang::RISCV::PrototypeDescriptor::operator< ( const PrototypeDescriptor & PD) const
inline

Definition at line 191 of file RISCVVIntrinsicUtils.h.

References PrototypeDescriptor(), PT, TM, and VTM.

◆ operator==()

bool clang::RISCV::PrototypeDescriptor::operator== ( const PrototypeDescriptor & PD) const
inline

Definition at line 188 of file RISCVVIntrinsicUtils.h.

References PrototypeDescriptor(), PT, TM, and VTM.

◆ parsePrototypeDescriptor()

std::optional< PrototypeDescriptor > clang::RISCV::PrototypeDescriptor::parsePrototypeDescriptor ( llvm::StringRef PrototypeStr)
static

Definition at line 405 of file RISCVVIntrinsicUtils.cpp.

References clang::RISCV::Const, clang::RISCV::FixedSEW16, clang::RISCV::FixedSEW32, clang::RISCV::FixedSEW64, clang::RISCV::FixedSEW8, clang::RISCV::Float, clang::RISCV::Float32, clang::RISCV::getTupleVTM(), clang::RISCV::Immediate, clang::RISCV::Invalid, clang::RISCV::LFixedLog2LMUL0, clang::RISCV::LFixedLog2LMUL1, clang::RISCV::LFixedLog2LMUL2, clang::RISCV::LFixedLog2LMUL3, clang::RISCV::LFixedLog2LMULN1, clang::RISCV::LFixedLog2LMULN2, clang::RISCV::LFixedLog2LMULN3, clang::RISCV::LMUL1, clang::RISCV::Log2EEW3, clang::RISCV::Log2EEW4, clang::RISCV::Log2EEW5, clang::RISCV::Log2EEW6, clang::RISCV::MaskVector, clang::RISCV::NoModifier, clang::RISCV::Pointer, PrototypeDescriptor(), PT, clang::RISCV::Ptrdiff, clang::RISCV::Scalar, clang::RISCV::SEFixedLog2LMUL0, clang::RISCV::SEFixedLog2LMUL1, clang::RISCV::SEFixedLog2LMUL2, clang::RISCV::SEFixedLog2LMUL3, clang::RISCV::SEFixedLog2LMULN1, clang::RISCV::SEFixedLog2LMULN2, clang::RISCV::SEFixedLog2LMULN3, clang::RISCV::SFixedLog2LMUL0, clang::RISCV::SFixedLog2LMUL1, clang::RISCV::SFixedLog2LMUL2, clang::RISCV::SFixedLog2LMUL3, clang::RISCV::SFixedLog2LMULN1, clang::RISCV::SFixedLog2LMULN2, clang::RISCV::SFixedLog2LMULN3, clang::RISCV::SignedInteger, clang::RISCV::SignedLong, clang::RISCV::SizeT, TM, clang::RISCV::UnsignedInteger, clang::RISCV::UnsignedLong, clang::RISCV::Vector, clang::RISCV::Void, VTM, clang::RISCV::Widening2XVector, clang::RISCV::Widening4XVector, and clang::RISCV::Widening8XVector.

Referenced by clang::RISCV::parsePrototypes().

Member Data Documentation

◆ Mask

◆ PT

uint8_t clang::RISCV::PrototypeDescriptor::PT = static_cast<uint8_t>(BaseTypeModifier::Invalid)

◆ TM

◆ Vector

const PrototypeDescriptor clang::RISCV::PrototypeDescriptor::Vector
static
Initial value:

Definition at line 195 of file RISCVVIntrinsicUtils.h.

◆ VL

const PrototypeDescriptor clang::RISCV::PrototypeDescriptor::VL
static

◆ VTM

uint8_t clang::RISCV::PrototypeDescriptor::VTM = static_cast<uint8_t>(VectorTypeModifier::NoModifier)

The documentation for this struct was generated from the following files: