clang 23.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, unsigned TWiden, bool AltFmt)
 ~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
unsigned getTWiden () 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, bool AltFmt)

Detailed Description

Definition at line 388 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,
unsigned TWiden,
bool AltFmt )

◆ ~RVVIntrinsic()

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

Member Function Documentation

◆ computeBuiltinTypes()

◆ getBuiltinName()

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

Definition at line 425 of file RISCVVIntrinsicUtils.h.

◆ getBuiltinTypeStr()

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

Definition at line 1054 of file RISCVVIntrinsicUtils.cpp.

References clang::T.

◆ getInputTypes()

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

Definition at line 424 of file RISCVVIntrinsicUtils.h.

◆ getIntrinsicTypes()

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

Definition at line 445 of file RISCVVIntrinsicUtils.h.

◆ getIRName()

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

Definition at line 440 of file RISCVVIntrinsicUtils.h.

◆ getManualCodegen()

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

Definition at line 441 of file RISCVVIntrinsicUtils.h.

◆ getNF()

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

Definition at line 443 of file RISCVVIntrinsicUtils.h.

◆ getOutputType()

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

Definition at line 423 of file RISCVVIntrinsicUtils.h.

◆ getOverloadedName()

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

Definition at line 439 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrs()

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

Definition at line 448 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrsBits()

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

Definition at line 451 of file RISCVVIntrinsicUtils.h.

◆ getPolicyScheme()

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

Definition at line 442 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 1153 of file RISCVVIntrinsicUtils.cpp.

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

◆ getTWiden()

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

Definition at line 444 of file RISCVVIntrinsicUtils.h.

◆ hasBuiltinAlias()

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

Definition at line 436 of file RISCVVIntrinsicUtils.h.

◆ hasManualCodegen()

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

Definition at line 437 of file RISCVVIntrinsicUtils.h.

◆ hasMaskedOffOperand()

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

Definition at line 426 of file RISCVVIntrinsicUtils.h.

Referenced by RVVIntrinsic().

◆ hasPassthruOperand()

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

Definition at line 429 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPassthruOperand.

Referenced by RVVIntrinsic().

◆ hasPolicy()

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

Definition at line 428 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::SchemeNone.

Referenced by RVVIntrinsic().

◆ hasPolicyOperand()

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

Definition at line 432 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPolicyOperand.

◆ hasVL()

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

Definition at line 427 of file RISCVVIntrinsicUtils.h.

◆ isMasked()

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

Definition at line 438 of file RISCVVIntrinsicUtils.h.

◆ supportOverloading()

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

Definition at line 435 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,
bool AltFmt )
static

Definition at line 1177 of file RISCVVIntrinsicUtils.cpp.

Referenced by RVVIntrinsic().


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