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, bool HasSegInstSEW, 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
bool hasSegInstSEW () 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 392 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,
bool HasSegInstSEW,
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 430 of file RISCVVIntrinsicUtils.h.

◆ getBuiltinTypeStr()

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

Definition at line 1079 of file RISCVVIntrinsicUtils.cpp.

◆ getInputTypes()

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

Definition at line 429 of file RISCVVIntrinsicUtils.h.

◆ getIntrinsicTypes()

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

Definition at line 451 of file RISCVVIntrinsicUtils.h.

◆ getIRName()

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

Definition at line 445 of file RISCVVIntrinsicUtils.h.

◆ getManualCodegen()

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

Definition at line 446 of file RISCVVIntrinsicUtils.h.

◆ getNF()

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

Definition at line 448 of file RISCVVIntrinsicUtils.h.

◆ getOutputType()

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

Definition at line 428 of file RISCVVIntrinsicUtils.h.

◆ getOverloadedName()

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

Definition at line 444 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrs()

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

Definition at line 454 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrsBits()

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

Definition at line 457 of file RISCVVIntrinsicUtils.h.

◆ getPolicyScheme()

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

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

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

◆ getTWiden()

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

Definition at line 450 of file RISCVVIntrinsicUtils.h.

◆ hasBuiltinAlias()

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

Definition at line 441 of file RISCVVIntrinsicUtils.h.

◆ hasManualCodegen()

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

Definition at line 442 of file RISCVVIntrinsicUtils.h.

◆ hasMaskedOffOperand()

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

Definition at line 431 of file RISCVVIntrinsicUtils.h.

Referenced by RVVIntrinsic().

◆ hasPassthruOperand()

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

Definition at line 434 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPassthruOperand.

Referenced by RVVIntrinsic().

◆ hasPolicy()

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

Definition at line 433 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::SchemeNone.

Referenced by RVVIntrinsic().

◆ hasPolicyOperand()

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

Definition at line 437 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPolicyOperand.

◆ hasSegInstSEW()

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

Definition at line 449 of file RISCVVIntrinsicUtils.h.

◆ hasVL()

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

Definition at line 432 of file RISCVVIntrinsicUtils.h.

◆ isMasked()

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

Definition at line 443 of file RISCVVIntrinsicUtils.h.

◆ supportOverloading()

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

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

Referenced by RVVIntrinsic().


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