clang 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
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, const std::vector< llvm::StringRef > &RequiredFeatures, 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 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 382 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,
const std::vector< llvm::StringRef > &  RequiredFeatures,
unsigned  NF,
Policy  PolicyAttrs,
bool  HasFRMRoundModeOp 
)

◆ ~RVVIntrinsic()

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

Member Function Documentation

◆ computeBuiltinTypes()

llvm::SmallVector< PrototypeDescriptor > clang::RISCV::RVVIntrinsic::computeBuiltinTypes ( llvm::ArrayRef< PrototypeDescriptor Prototype,
bool  IsMasked,
bool  HasMaskedOffOperand,
bool  HasVL,
unsigned  NF,
PolicyScheme  DefaultScheme,
Policy  PolicyAttrs,
bool  IsTuple 
)
static

◆ getBuiltinName()

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

Definition at line 418 of file RISCVVIntrinsicUtils.h.

◆ getBuiltinTypeStr()

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

Definition at line 1019 of file RISCVVIntrinsicUtils.cpp.

References clang::RISCV::RVVType::getBuiltinStr().

◆ getInputTypes()

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

Definition at line 417 of file RISCVVIntrinsicUtils.h.

◆ getIntrinsicTypes()

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

Definition at line 436 of file RISCVVIntrinsicUtils.h.

◆ getIRName()

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

Definition at line 432 of file RISCVVIntrinsicUtils.h.

◆ getManualCodegen()

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

Definition at line 433 of file RISCVVIntrinsicUtils.h.

◆ getNF()

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

Definition at line 435 of file RISCVVIntrinsicUtils.h.

◆ getOutputType()

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

Definition at line 416 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrs()

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

Definition at line 439 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrsBits()

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

◆ getPolicyScheme()

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

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

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

◆ hasBuiltinAlias()

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

Definition at line 429 of file RISCVVIntrinsicUtils.h.

◆ hasManualCodegen()

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

Definition at line 430 of file RISCVVIntrinsicUtils.h.

◆ hasMaskedOffOperand()

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

Definition at line 419 of file RISCVVIntrinsicUtils.h.

Referenced by RVVIntrinsic().

◆ hasPassthruOperand()

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

Definition at line 422 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPassthruOperand.

Referenced by RVVIntrinsic().

◆ hasPolicy()

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

Definition at line 421 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::SchemeNone.

Referenced by RVVIntrinsic().

◆ hasPolicyOperand()

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

Definition at line 425 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPolicyOperand.

◆ hasVL()

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

Definition at line 420 of file RISCVVIntrinsicUtils.h.

◆ isMasked()

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

Definition at line 431 of file RISCVVIntrinsicUtils.h.

◆ supportOverloading()

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

Definition at line 428 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

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