clang 17.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)
 
 ~RVVIntrinsic ()=default
 
RVVTypePtr getOutputType () const
 
const RVVTypesgetInputTypes () const
 
llvm::StringRef getBuiltinName () const
 
llvm::StringRef getName () const
 
llvm::StringRef getOverloadedName () 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)
 

Detailed Description

Definition at line 363 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 
)

◆ ~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 399 of file RISCVVIntrinsicUtils.h.

◆ getBuiltinTypeStr()

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

Definition at line 919 of file RISCVVIntrinsicUtils.cpp.

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

◆ getInputTypes()

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

Definition at line 398 of file RISCVVIntrinsicUtils.h.

◆ getIntrinsicTypes()

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

Definition at line 419 of file RISCVVIntrinsicUtils.h.

◆ getIRName()

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

Definition at line 415 of file RISCVVIntrinsicUtils.h.

◆ getManualCodegen()

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

Definition at line 416 of file RISCVVIntrinsicUtils.h.

◆ getName()

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

Definition at line 400 of file RISCVVIntrinsicUtils.h.

◆ getNF()

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

Definition at line 418 of file RISCVVIntrinsicUtils.h.

◆ getOutputType()

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

Definition at line 397 of file RISCVVIntrinsicUtils.h.

◆ getOverloadedName()

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

Definition at line 401 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrs()

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

Definition at line 422 of file RISCVVIntrinsicUtils.h.

◆ getPolicyAttrsBits()

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

◆ getPolicyScheme()

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

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

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

◆ hasBuiltinAlias()

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

Definition at line 412 of file RISCVVIntrinsicUtils.h.

◆ hasManualCodegen()

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

Definition at line 413 of file RISCVVIntrinsicUtils.h.

◆ hasMaskedOffOperand()

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

Definition at line 402 of file RISCVVIntrinsicUtils.h.

Referenced by RVVIntrinsic().

◆ hasPassthruOperand()

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

Definition at line 405 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPassthruOperand.

Referenced by RVVIntrinsic().

◆ hasPolicy()

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

Definition at line 404 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::SchemeNone.

Referenced by RVVIntrinsic().

◆ hasPolicyOperand()

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

Definition at line 408 of file RISCVVIntrinsicUtils.h.

References clang::RISCV::HasPolicyOperand.

◆ hasVL()

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

Definition at line 403 of file RISCVVIntrinsicUtils.h.

◆ isMasked()

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

Definition at line 414 of file RISCVVIntrinsicUtils.h.

◆ supportOverloading()

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

Definition at line 411 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 
)
static

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