class RVVType
Declaration
class RVVType { /* full declaration omitted */ };Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:172
Member Variables
- private clang::RISCV::BasicType BT
- private clang::RISCV::ScalarTypeKind ScalarType = Invalid
- private clang::RISCV::LMULType LMUL
- private bool IsPointer = false
- private bool IsImmediate = false
- private bool IsConstant = false
- private unsigned int ElementBitwidth = 0
- private clang::RISCV::VScaleVal Scale = 0
- private bool Valid
- private std::string BuiltinStr
- private std::string ClangBuiltinStr
- private std::string Str
- private std::string ShortStr
Method Overview
- public RVVType(clang::RISCV::BasicType BT, int Log2LMUL, const clang::RISCV::PrototypeDescriptor & Profile)
- public RVVType()
- private void applyBasicType()
- private void applyFixedLog2LMUL(int Log2LMUL, enum FixedLMULType Type)
- private void applyFixedSEW(unsigned int NewSEW)
- private void applyLog2EEW(unsigned int Log2EEW)
- private void applyModifier(const clang::RISCV::PrototypeDescriptor & prototype)
- public static llvm::Optional<RVVTypePtr> computeType(clang::RISCV::BasicType BT, int Log2LMUL, clang::RISCV::PrototypeDescriptor Proto)
- public static llvm::Optional<RVVTypes> computeTypes(clang::RISCV::BasicType BT, int Log2LMUL, unsigned int NF, llvm::ArrayRef<PrototypeDescriptor> Prototype)
- public const std::string & getBuiltinStr() const
- public const std::string & getClangBuiltinStr() const
- public unsigned int getElementBitwidth() const
- public clang::RISCV::ScalarTypeKind getScalarType() const
- public clang::RISCV::VScaleVal getScale() const
- public const std::string & getShortStr()
- public const std::string & getTypeStr() const
- private void initBuiltinStr()
- private void initClangBuiltinStr()
- private void initShortStr()
- private void initTypeStr()
- public bool isConstant() const
- public bool isFloat(unsigned int Width) const
- public bool isFloat() const
- public bool isFloatVector(unsigned int Width) const
- public bool isPointer() const
- public bool isScalar() const
- public bool isSignedInteger() const
- public bool isValid() const
- public bool isVector(unsigned int Width) const
- public bool isVector() const
- private bool verifyType() const
Methods
¶RVVType(clang::RISCV::BasicType BT,
int Log2LMUL,
const clang::RISCV::PrototypeDescriptor&
Profile)
RVVType(clang::RISCV::BasicType BT,
int Log2LMUL,
const clang::RISCV::PrototypeDescriptor&
Profile)Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:194
Parameters
- clang::RISCV::BasicType BT
- int Log2LMUL
- const clang::RISCV::PrototypeDescriptor& Profile
¶RVVType()
RVVType()Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:193
¶void applyBasicType()
void applyBasicType()Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:245
¶void applyFixedLog2LMUL(int Log2LMUL,
enum FixedLMULType Type)
void applyFixedLog2LMUL(int Log2LMUL,
enum FixedLMULType Type)Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:253
Parameters
- int Log2LMUL
- enum FixedLMULType Type
¶void applyFixedSEW(unsigned int NewSEW)
void applyFixedSEW(unsigned int NewSEW)Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:252
Parameters
- unsigned int NewSEW
¶void applyLog2EEW(unsigned int Log2EEW)
void applyLog2EEW(unsigned int Log2EEW)Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:251
Parameters
- unsigned int Log2EEW
¶void applyModifier(
const clang::RISCV::PrototypeDescriptor&
prototype)
void applyModifier(
const clang::RISCV::PrototypeDescriptor&
prototype)Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:249
Parameters
- const clang::RISCV::PrototypeDescriptor& prototype
¶static llvm::Optional<RVVTypePtr> computeType(
clang::RISCV::BasicType BT,
int Log2LMUL,
clang::RISCV::PrototypeDescriptor Proto)
static llvm::Optional<RVVTypePtr> computeType(
clang::RISCV::BasicType BT,
int Log2LMUL,
clang::RISCV::PrototypeDescriptor Proto)Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:272
Parameters
- clang::RISCV::BasicType BT
- int Log2LMUL
- clang::RISCV::PrototypeDescriptor Proto
¶static llvm::Optional<RVVTypes> computeTypes(
clang::RISCV::BasicType BT,
int Log2LMUL,
unsigned int NF,
llvm::ArrayRef<PrototypeDescriptor> Prototype)
static llvm::Optional<RVVTypes> computeTypes(
clang::RISCV::BasicType BT,
int Log2LMUL,
unsigned int NF,
llvm::ArrayRef<PrototypeDescriptor> Prototype)Description
Compute output and input types by applying different config (basic type and LMUL with type transformers). It also record result of type in legal or illegal set to avoid compute the same config again. The result maybe have illegal RVVType.
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:270
Parameters
- clang::RISCV::BasicType BT
- int Log2LMUL
- unsigned int NF
- llvm::ArrayRef<PrototypeDescriptor> Prototype
¶const std::string& getBuiltinStr() const
const std::string& getBuiltinStr() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:198
¶const std::string& getClangBuiltinStr() const
const std::string& getClangBuiltinStr() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:202
¶unsigned int getElementBitwidth() const
unsigned int getElementBitwidth() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:235
¶clang::RISCV::ScalarTypeKind getScalarType() const
clang::RISCV::ScalarTypeKind getScalarType() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:237
¶clang::RISCV::VScaleVal getScale() const
clang::RISCV::VScaleVal getScale() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:238
¶const std::string& getShortStr()
const std::string& getShortStr()Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:209
¶const std::string& getTypeStr() const
const std::string& getTypeStr() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:206
¶void initBuiltinStr()
void initBuiltinStr()Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:256
¶void initClangBuiltinStr()
void initClangBuiltinStr()Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:258
¶void initShortStr()
void initShortStr()Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:262
¶void initTypeStr()
void initTypeStr()Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:260
¶bool isConstant() const
bool isConstant() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:233
¶bool isFloat(unsigned int Width) const
bool isFloat(unsigned int Width) constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:230
Parameters
- unsigned int Width
¶bool isFloat() const
bool isFloat() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:223
¶bool isFloatVector(unsigned int Width) const
bool isFloatVector(unsigned int Width) constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:227
Parameters
- unsigned int Width
¶bool isPointer() const
bool isPointer() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:234
¶bool isScalar() const
bool isScalar() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:218
¶bool isSignedInteger() const
bool isSignedInteger() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:224
¶bool isValid() const
bool isValid() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:217
¶bool isVector(unsigned int Width) const
bool isVector(unsigned int Width) constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:220
Parameters
- unsigned int Width
¶bool isVector() const
bool isVector() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:219
¶bool verifyType() const
bool verifyType() constDeclared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:242