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() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:198
¶const std::string& getClangBuiltinStr() const
const std::string& getClangBuiltinStr() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:202
¶unsigned int getElementBitwidth() const
unsigned int getElementBitwidth() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:235
¶clang::RISCV::ScalarTypeKind getScalarType() const
clang::RISCV::ScalarTypeKind getScalarType() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:237
¶clang::RISCV::VScaleVal getScale() const
clang::RISCV::VScaleVal getScale() const
Declared 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() const
Declared 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() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:233
¶bool isFloat(unsigned int Width) const
bool isFloat(unsigned int Width) const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:230
Parameters
- unsigned int Width
¶bool isFloat() const
bool isFloat() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:223
¶bool isFloatVector(unsigned int Width) const
bool isFloatVector(unsigned int Width) const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:227
Parameters
- unsigned int Width
¶bool isPointer() const
bool isPointer() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:234
¶bool isScalar() const
bool isScalar() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:218
¶bool isSignedInteger() const
bool isSignedInteger() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:224
¶bool isValid() const
bool isValid() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:217
¶bool isVector(unsigned int Width) const
bool isVector(unsigned int Width) const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:220
Parameters
- unsigned int Width
¶bool isVector() const
bool isVector() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:219
¶bool verifyType() const
bool verifyType() const
Declared at: clang/include/clang/Support/RISCVVIntrinsicUtils.h:242