clang 22.0.0git
|
#include "clang/Sema/SemaRISCV.h"
Public Attributes | |
bool | DeclareRVVBuiltins = false |
Indicate RISC-V vector builtin functions enabled or not. | |
bool | DeclareSiFiveVectorBuiltins = false |
Indicate RISC-V SiFive vector builtin functions enabled or not. | |
bool | DeclareAndesVectorBuiltins = false |
Indicate RISC-V Andes vector builtin functions enabled or not. | |
std::unique_ptr< sema::RISCVIntrinsicManager > | IntrinsicManager |
Public Attributes inherited from clang::SemaBase | |
Sema & | SemaRef |
Definition at line 32 of file SemaRISCV.h.
clang::SemaRISCV::SemaRISCV | ( | Sema & | S | ) |
Definition at line 1776 of file SemaRISCV.cpp.
References clang::SemaBase::SemaBase().
bool clang::SemaRISCV::CheckBuiltinFunctionCall | ( | const TargetInfo & | TI, |
unsigned | BuiltinID, | ||
CallExpr * | TheCall ) |
Definition at line 554 of file SemaRISCV.cpp.
References clang::cast(), clang::Type::castAs(), clang::CheckInvalidVLENandLMUL(), CheckLMUL(), Diag(), clang::ASTContext::BuiltinVectorTypeInfo::EC, clang::ASTContext::BuiltinVectorTypeInfo::ElementType, clang::ActionResult< PtrTy, Compress >::get(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::CallExpr::getBeginLoc(), clang::DeclRefExpr::getBeginLoc(), clang::CallExpr::getCallee(), clang::CallExpr::getCalleeDecl(), clang::QualType::getCanonicalType(), clang::CallExpr::getNumArgs(), clang::PointerType::getPointeeType(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::QualType::getTypePtr(), clang::QualType::getUnqualifiedType(), clang::TargetInfo::hasFeature(), clang::Expr::IgnoreParenCasts(), clang::InitializedEntity::InitializeParameter(), clang::Type::isAnyPointerType(), clang::Type::isBlockPointerType(), clang::Type::isFloatingType(), clang::Type::isIntegerType(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Type::isRVVSizelessBuiltinType(), clang::Type::isVectorType(), clang::ASTContext::BuiltinVectorTypeInfo::NumVectors, clang::SemaBase::SemaRef, clang::CallExpr::setArg(), and clang::Expr::setType().
Definition at line 502 of file SemaRISCV.cpp.
References Diag(), clang::CallExpr::getArg(), clang::CallExpr::getBeginLoc(), clang::Stmt::getSourceRange(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), clang::Result, and clang::SemaBase::SemaRef.
Referenced by CheckBuiltinFunctionCall().
void clang::SemaRISCV::checkRVVTypeSupport | ( | QualType | Ty, |
SourceLocation | Loc, | ||
Decl * | D, | ||
const llvm::StringMap< bool > & | FeatureMap ) |
Definition at line 1439 of file SemaRISCV.cpp.
References clang::Type::castAs(), DeclareAndesVectorBuiltins, Diag(), clang::ASTContext::BuiltinVectorTypeInfo::EC, clang::ASTContext::BuiltinVectorTypeInfo::ElementType, clang::Type::isBFloat16Type(), clang::Type::isFloat16Type(), clang::Type::isIntegerType(), clang::Type::isSpecificBuiltinType(), and clang::SemaBase::SemaRef.
Referenced by clang::Sema::CheckVariableDeclarationType().
bool clang::SemaRISCV::checkTargetClonesAttr | ( | SmallVectorImpl< StringRef > & | Params, |
SmallVectorImpl< SourceLocation > & | Locs, | ||
SmallVectorImpl< SmallString< 64 > > & | NewParams ) |
Definition at line 1716 of file SemaRISCV.cpp.
References Diag(), clang::ParsedTargetAttr::Features, clang::SemaBase::getASTContext(), clang::None, and clang::TargetClones.
Referenced by handleTargetClonesAttr().
bool clang::SemaRISCV::checkTargetVersionAttr | ( | const StringRef | Param, |
const SourceLocation | Loc ) |
Definition at line 1666 of file SemaRISCV.cpp.
References Diag(), clang::ParsedTargetAttr::Features, clang::SemaBase::getASTContext(), clang::None, and clang::TargetVersion.
Referenced by handleTargetVersionAttr().
void clang::SemaRISCV::handleInterruptAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1504 of file SemaRISCV.cpp.
References clang::Decl::addAttr(), clang::ParsedAttr::checkAtMostNumArgs(), Diag(), clang::ExpectedFunction, clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::SourceRange::getBegin(), clang::getFunctionOrMethodNumParams(), clang::getFunctionOrMethodResultType(), clang::Decl::getFunctionType(), clang::AttributeCommonInfo::getLoc(), clang::Decl::getLocation(), clang::ParsedAttr::getNumArgs(), clang::AttributeCommonInfo::getRange(), HasFeature(), clang::TargetInfo::hasFeature(), clang::hasFunctionProto(), clang::AttributeCommonInfo::isRegularKeywordAttribute(), and clang::SemaBase::SemaRef.
Referenced by handleInterruptAttr().
Definition at line 1651 of file SemaRISCV.cpp.
References clang::RISCV::FirstRVVBuiltin, and clang::RISCV::LastRVVBuiltin.
Referenced by handleBuiltinAliasAttr().
bool clang::SemaRISCV::isValidFMVExtension | ( | StringRef | Ext | ) |
Definition at line 1656 of file SemaRISCV.cpp.
Are the two types RVV-bitcast-compatible types?
I.e. is bitcasting from the first RVV type (e.g. an RVV scalable type) to the second type (e.g. an RVV VLS type) allowed?
This will also return false if the two given types do not make sense from the perspective of RVV bitcasts.
Definition at line 1489 of file SemaRISCV.cpp.
References clang::VectorType::getVectorKind(), clang::Type::isRVVSizelessBuiltinType(), clang::Type::isVectorType(), and clang::RVVFixedLengthData.
Indicate RISC-V Andes vector builtin functions enabled or not.
Definition at line 55 of file SemaRISCV.h.
Referenced by checkRVVTypeSupport().
Indicate RISC-V vector builtin functions enabled or not.
Definition at line 49 of file SemaRISCV.h.
Indicate RISC-V SiFive vector builtin functions enabled or not.
Definition at line 52 of file SemaRISCV.h.
std::unique_ptr<sema::RISCVIntrinsicManager> clang::SemaRISCV::IntrinsicManager |
Definition at line 57 of file SemaRISCV.h.
Referenced by clang::Sema::LookupBuiltin().