clang  19.0.0git
Public Member Functions | Public Attributes | List of all members
clang::SemaRISCV Class Reference

#include "clang/Sema/SemaRISCV.h"

Inheritance diagram for clang::SemaRISCV:
Inheritance graph
[legend]

Public Member Functions

 SemaRISCV (Sema &S)
 
bool CheckLMUL (CallExpr *TheCall, unsigned ArgNum)
 
bool CheckBuiltinFunctionCall (const TargetInfo &TI, unsigned BuiltinID, CallExpr *TheCall)
 
void checkRVVTypeSupport (QualType Ty, SourceLocation Loc, Decl *D, const llvm::StringMap< bool > &FeatureMap)
 
bool isValidRVVBitcast (QualType srcType, QualType destType)
 Are the two types RVV-bitcast-compatible types? I.e. More...
 
- Public Member Functions inherited from clang::SemaBase
 SemaBase (Sema &S)
 
ASTContextgetASTContext () const
 
DiagnosticsEnginegetDiagnostics () const
 
const LangOptionsgetLangOpts () const
 
void addFDToReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
bool isFDReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
 Emit a diagnostic. More...
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
 Emit a partial diagnostic. More...
 

Public Attributes

bool DeclareRVVBuiltins = false
 Indicate RISC-V vector builtin functions enabled or not. More...
 
bool DeclareSiFiveVectorBuiltins = false
 Indicate RISC-V SiFive vector builtin functions enabled or not. More...
 
std::unique_ptr< sema::RISCVIntrinsicManagerIntrinsicManager
 
- Public Attributes inherited from clang::SemaBase
SemaSemaRef
 

Additional Inherited Members

- Public Types inherited from clang::SemaBase
enum class  DeviceDiagnosticReason {
  None = 0 , OmpDevice = 1 << 0 , OmpHost = 1 << 1 , OmpAll = OmpDevice | OmpHost ,
  CudaDevice = 1 << 2 , CudaHost = 1 << 3 , CudaAll = CudaDevice | CudaHost , Sycl = 1 << 4 ,
  Esimd = 1 << 5 , All = OmpAll | CudaAll | Sycl | Esimd
}
 Bitmask to contain the list of reasons a single diagnostic should be emitted, based on its language. More...
 

Detailed Description

Definition at line 27 of file SemaRISCV.h.

Constructor & Destructor Documentation

◆ SemaRISCV()

clang::SemaRISCV::SemaRISCV ( Sema S)

Definition at line 1425 of file SemaRISCV.cpp.

Member Function Documentation

◆ CheckBuiltinFunctionCall()

bool clang::SemaRISCV::CheckBuiltinFunctionCall ( const TargetInfo TI,
unsigned  BuiltinID,
CallExpr TheCall 
)

Definition at line 557 of file SemaRISCV.cpp.

◆ CheckLMUL()

bool clang::SemaRISCV::CheckLMUL ( CallExpr TheCall,
unsigned  ArgNum 
)

◆ checkRVVTypeSupport()

void clang::SemaRISCV::checkRVVTypeSupport ( QualType  Ty,
SourceLocation  Loc,
Decl D,
const llvm::StringMap< bool > &  FeatureMap 
)

◆ isValidRVVBitcast()

bool clang::SemaRISCV::isValidRVVBitcast ( QualType  srcTy,
QualType  destTy 
)

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 1410 of file SemaRISCV.cpp.

References clang::VectorType::getVectorKind(), clang::Type::isRVVSizelessBuiltinType(), and clang::Type::isVectorType().

Member Data Documentation

◆ DeclareRVVBuiltins

bool clang::SemaRISCV::DeclareRVVBuiltins = false

Indicate RISC-V vector builtin functions enabled or not.

Definition at line 40 of file SemaRISCV.h.

◆ DeclareSiFiveVectorBuiltins

bool clang::SemaRISCV::DeclareSiFiveVectorBuiltins = false

Indicate RISC-V SiFive vector builtin functions enabled or not.

Definition at line 43 of file SemaRISCV.h.

◆ IntrinsicManager

std::unique_ptr<sema::RISCVIntrinsicManager> clang::SemaRISCV::IntrinsicManager

Definition at line 45 of file SemaRISCV.h.


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