clang 22.0.0git
clang::RISCV::RVVIntrinsic Class Reference

#include "clang/Support/RISCVVIntrinsicUtils.h"

Public Member Functions

 RVVIntrinsic (llvm::StringRef Name, llvm::StringRef Suffix, llvm::StringRef OverloadedName, llvm::StringRef OverloadedSuffix, llvm::StringRef IRName, bool IsMasked, bool HasMaskedOffOperand, bool HasVL, PolicyScheme Scheme, bool SupportOverloading, bool HasBuiltinAlias, llvm::StringRef ManualCodegen, const RVVTypes &Types, const std::vector< int64_t > &IntrinsicTypes, unsigned NF, Policy PolicyAttrs, bool HasFRMRoundModeOp)
 ~RVVIntrinsic ()=default
RVVTypePtr getOutputType () const
const RVVTypesgetInputTypes () const
llvm::StringRef getBuiltinName () const
bool hasMaskedOffOperand () const
bool hasVL () const
bool hasPolicy () const
bool hasPassthruOperand () const
bool hasPolicyOperand () const
bool supportOverloading () const
bool hasBuiltinAlias () const
bool hasManualCodegen () const
bool isMasked () const
llvm::StringRef getOverloadedName () const
llvm::StringRef getIRName () const
llvm::StringRef getManualCodegen () const
PolicyScheme getPolicyScheme () const
unsigned getNF () const
const std::vector< int64_t > & getIntrinsicTypes () const
Policy getPolicyAttrs () const
unsigned getPolicyAttrsBits () const
std::string getBuiltinTypeStr () const

Static Public Member Functions

static std::string getSuffixStr (RVVTypeCache &TypeCache, BasicType Type, int Log2LMUL, llvm::ArrayRef< PrototypeDescriptor > PrototypeDescriptors)
static llvm::SmallVector< PrototypeDescriptorcomputeBuiltinTypes (llvm::ArrayRef< PrototypeDescriptor > Prototype, bool IsMasked, bool HasMaskedOffOperand, bool HasVL, unsigned NF, PolicyScheme DefaultScheme, Policy PolicyAttrs, bool IsTuple)
static llvm::SmallVector< PolicygetSupportedUnMaskedPolicies ()
static llvm::SmallVector< PolicygetSupportedMaskedPolicies (bool HasTailPolicy, bool HasMaskPolicy)
static void updateNamesAndPolicy (bool IsMasked, bool HasPolicy, std::string &Name, std::string &BuiltinName, std::string &OverloadedName, Policy &PolicyAttrs, bool HasFRMRoundModeOp)

Detailed Description

Definition at line 384 of file RISCVVIntrinsicUtils.h.

Constructor & Destructor Documentation

◆ RVVIntrinsic()

clang::RISCV::RVVIntrinsic::RVVIntrinsic ( llvm::StringRef Name,
llvm::StringRef Suffix,
llvm::StringRef OverloadedName,
llvm::StringRef OverloadedSuffix,
llvm::StringRef IRName,
bool IsMasked,
bool HasMaskedOffOperand,
bool HasVL,
PolicyScheme Scheme,
bool SupportOverloading,
bool HasBuiltinAlias,
llvm::StringRef ManualCodegen,
const RVVTypes & Types,
const std::vector< int64_t > & IntrinsicTypes,
unsigned NF,
Policy PolicyAttrs,
bool HasFRMRoundModeOp )

◆ ~RVVIntrinsic()

clang::RISCV::RVVIntrinsic::~RVVIntrinsic ( )
default

Member Function Documentation

◆ computeBuiltinTypes()

◆ getBuiltinName()

llvm::StringRef clang::RISCV::RVVIntrinsic::getBuiltinName ( ) const
inline

Definition at line 419 of file RISCVVIntrinsicUtils.h.

◆ getBuiltinTypeStr()

std::string clang::RISCV::RVVIntrinsic::getBuiltinTypeStr ( ) const

Definition at line 1015 of file RISCVVIntrinsicUtils.cpp.

References clang::T.

◆ getInputTypes()

const RVVTypes & clang::RISCV::RVVIntrinsic::getInputTypes ( ) const
inline

Definition at line 418 of file RISCVVIntrinsicUtils.h.

◆ getIntrinsicTypes()

const std::vector< int64_t > & clang::RISCV::RVVIntrinsic::getIntrinsicTypes ( ) const
inline

Definition at line 438 of file RISCVVIntrinsicUtils.h.

◆ getIRName()

llvm::StringRef clang::RISCV::RVVIntrinsic::getIRName ( ) const
inline

Definition at line 434 of file RISCVVIntrinsicUtils.h.

◆ getManualCodegen()

llvm::StringRef clang::RISCV::RVVIntrinsic::getManualCodegen ( ) const
inline

Definition at line 435 of file RISCVVIntrinsicUtils.h.

◆ getNF()

unsigned clang::RISCV::RVVIntrinsic::getNF ( ) const
inline

Definition at line 437 of file RISCVVIntrinsicUtils.h.

◆ getOutputType()

RVVTypePtr clang::RISCV::RVVIntrinsic::getOutputType ( ) const
inline

Definition at line 417 of file RISCVVIntrinsicUtils.h.

◆ getOverloadedName()

llvm::StringRef clang::RISCV::RVVIntrinsic::getOverloadedName ( ) const
inline

Definition at line 433 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrs()

Policy clang::RISCV::RVVIntrinsic::getPolicyAttrs ( ) const
inline

Definition at line 441 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrsBits()

unsigned clang::RISCV::RVVIntrinsic::getPolicyAttrsBits ( ) const
inline

Definition at line 444 of file RISCVVIntrinsicUtils.h.

◆ getPolicyScheme()

PolicyScheme clang::RISCV::RVVIntrinsic::getPolicyScheme ( ) const
inline

Definition at line 436 of file RISCVVIntrinsicUtils.h.

◆ getSuffixStr()

std::string clang::RISCV::RVVIntrinsic::getSuffixStr ( RVVTypeCache & TypeCache,
BasicType Type,
int Log2LMUL,
llvm::ArrayRef< PrototypeDescriptor > PrototypeDescriptors )
static

◆ getSupportedMaskedPolicies()

llvm::SmallVector< Policy > clang::RISCV::RVVIntrinsic::getSupportedMaskedPolicies ( bool HasTailPolicy,
bool HasMaskPolicy )
static

◆ getSupportedUnMaskedPolicies()

llvm::SmallVector< Policy > clang::RISCV::RVVIntrinsic::getSupportedUnMaskedPolicies ( )
static

Definition at line 1114 of file RISCVVIntrinsicUtils.cpp.

References clang::RISCV::Policy::Undisturbed.

◆ hasBuiltinAlias()

bool clang::RISCV::RVVIntrinsic::hasBuiltinAlias ( ) const
inline

Definition at line 430 of file RISCVVIntrinsicUtils.h.

◆ hasManualCodegen()

bool clang::RISCV::RVVIntrinsic::hasManualCodegen ( ) const
inline

Definition at line 431 of file RISCVVIntrinsicUtils.h.

◆ hasMaskedOffOperand()

bool clang::RISCV::RVVIntrinsic::hasMaskedOffOperand ( ) const
inline

Definition at line 420 of file RISCVVIntrinsicUtils.h.

Referenced by RVVIntrinsic().

◆ hasPassthruOperand()

bool clang::RISCV::RVVIntrinsic::hasPassthruOperand ( ) const
inline

Definition at line 423 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPassthruOperand.

Referenced by RVVIntrinsic().

◆ hasPolicy()

bool clang::RISCV::RVVIntrinsic::hasPolicy ( ) const
inline

Definition at line 422 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::SchemeNone.

Referenced by RVVIntrinsic().

◆ hasPolicyOperand()

bool clang::RISCV::RVVIntrinsic::hasPolicyOperand ( ) const
inline

Definition at line 426 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPolicyOperand.

◆ hasVL()

bool clang::RISCV::RVVIntrinsic::hasVL ( ) const
inline

Definition at line 421 of file RISCVVIntrinsicUtils.h.

◆ isMasked()

bool clang::RISCV::RVVIntrinsic::isMasked ( ) const
inline

Definition at line 432 of file RISCVVIntrinsicUtils.h.

◆ supportOverloading()

bool clang::RISCV::RVVIntrinsic::supportOverloading ( ) const
inline

Definition at line 429 of file RISCVVIntrinsicUtils.h.

◆ updateNamesAndPolicy()

void clang::RISCV::RVVIntrinsic::updateNamesAndPolicy ( bool IsMasked,
bool HasPolicy,
std::string & Name,
std::string & BuiltinName,
std::string & OverloadedName,
Policy & PolicyAttrs,
bool HasFRMRoundModeOp )
static

Definition at line 1138 of file RISCVVIntrinsicUtils.cpp.

Referenced by RVVIntrinsic().


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