clang  20.0.0git
Public Types | Public Member Functions | List of all members
clang::SemaARM Class Reference

#include "clang/Sema/SemaARM.h"

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

Public Types

enum  ArmStreamingType { ArmNonStreaming , ArmStreaming , ArmStreamingCompatible , VerifyRuntimeMode }
 
- 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...
 

Public Member Functions

 SemaARM (Sema &S)
 
bool CheckARMBuiltinExclusiveCall (unsigned BuiltinID, CallExpr *TheCall, unsigned MaxWidth)
 
bool CheckNeonBuiltinFunctionCall (const TargetInfo &TI, unsigned BuiltinID, CallExpr *TheCall)
 
bool CheckMVEBuiltinFunctionCall (unsigned BuiltinID, CallExpr *TheCall)
 
bool CheckSVEBuiltinFunctionCall (unsigned BuiltinID, CallExpr *TheCall)
 
bool ParseSVEImmChecks (CallExpr *TheCall, llvm::SmallVector< std::tuple< int, int, int >, 3 > &ImmChecks)
 
bool CheckSMEBuiltinFunctionCall (unsigned BuiltinID, CallExpr *TheCall)
 
bool CheckCDEBuiltinFunctionCall (const TargetInfo &TI, unsigned BuiltinID, CallExpr *TheCall)
 
bool CheckARMCoprocessorImmediate (const TargetInfo &TI, const Expr *CoprocArg, bool WantCDE)
 
bool CheckARMBuiltinFunctionCall (const TargetInfo &TI, unsigned BuiltinID, CallExpr *TheCall)
 
bool CheckAArch64BuiltinFunctionCall (const TargetInfo &TI, unsigned BuiltinID, CallExpr *TheCall)
 
bool BuiltinARMSpecialReg (unsigned BuiltinID, CallExpr *TheCall, int ArgNum, unsigned ExpectedFieldNum, bool AllowName)
 BuiltinARMSpecialReg - Handle a check if argument ArgNum of CallExpr TheCall is an ARM/AArch64 special register string literal. More...
 
bool BuiltinARMMemoryTaggingCall (unsigned BuiltinID, CallExpr *TheCall)
 BuiltinARMMemoryTaggingCall - Handle calls of memory tagging extensions. More...
 
bool MveAliasValid (unsigned BuiltinID, llvm::StringRef AliasName)
 
bool CdeAliasValid (unsigned BuiltinID, llvm::StringRef AliasName)
 
bool SveAliasValid (unsigned BuiltinID, llvm::StringRef AliasName)
 
bool SmeAliasValid (unsigned BuiltinID, llvm::StringRef AliasName)
 
void handleBuiltinAliasAttr (Decl *D, const ParsedAttr &AL)
 
void handleNewAttr (Decl *D, const ParsedAttr &AL)
 
void handleCmseNSEntryAttr (Decl *D, const ParsedAttr &AL)
 
void handleInterruptAttr (Decl *D, const ParsedAttr &AL)
 
- 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...
 
PartialDiagnostic PDiag (unsigned DiagID=0)
 Build a partial diagnostic. More...
 

Additional Inherited Members

- Public Attributes inherited from clang::SemaBase
SemaSemaRef
 

Detailed Description

Definition at line 29 of file SemaARM.h.

Member Enumeration Documentation

◆ ArmStreamingType

Enumerator
ArmNonStreaming 
ArmStreaming 

Intrinsic is only available in normal mode.

ArmStreamingCompatible 

Intrinsic is only available in Streaming-SVE mode.

VerifyRuntimeMode 

Intrinsic is available both in normal and Streaming-SVE mode.

Intrinsic is available in normal mode with SVE flags, or in Streaming-SVE mode with SME flags. Do Sema checks for the runtime mode.

Definition at line 33 of file SemaARM.h.

Constructor & Destructor Documentation

◆ SemaARM()

clang::SemaARM::SemaARM ( Sema S)

Definition at line 23 of file SemaARM.cpp.

Member Function Documentation

◆ BuiltinARMMemoryTaggingCall()

bool clang::SemaARM::BuiltinARMMemoryTaggingCall ( unsigned  BuiltinID,
CallExpr TheCall 
)

BuiltinARMMemoryTaggingCall - Handle calls of memory tagging extensions.

Definition at line 26 of file SemaARM.cpp.

Referenced by CheckAArch64BuiltinFunctionCall().

◆ BuiltinARMSpecialReg()

bool clang::SemaARM::BuiltinARMSpecialReg ( unsigned  BuiltinID,
CallExpr TheCall,
int  ArgNum,
unsigned  ExpectedFieldNum,
bool  AllowName 
)

◆ CdeAliasValid()

bool clang::SemaARM::CdeAliasValid ( unsigned  BuiltinID,
llvm::StringRef  AliasName 
)

Definition at line 1177 of file SemaARM.cpp.

References clang::BuiltinAliasValid().

◆ CheckAArch64BuiltinFunctionCall()

bool clang::SemaARM::CheckAArch64BuiltinFunctionCall ( const TargetInfo TI,
unsigned  BuiltinID,
CallExpr TheCall 
)

◆ CheckARMBuiltinExclusiveCall()

bool clang::SemaARM::CheckARMBuiltinExclusiveCall ( unsigned  BuiltinID,
CallExpr TheCall,
unsigned  MaxWidth 
)

Definition at line 867 of file SemaARM.cpp.

Referenced by CheckAArch64BuiltinFunctionCall(), and CheckARMBuiltinFunctionCall().

◆ CheckARMBuiltinFunctionCall()

bool clang::SemaARM::CheckARMBuiltinFunctionCall ( const TargetInfo TI,
unsigned  BuiltinID,
CallExpr TheCall 
)

◆ CheckARMCoprocessorImmediate()

bool clang::SemaARM::CheckARMCoprocessorImmediate ( const TargetInfo TI,
const Expr CoprocArg,
bool  WantCDE 
)

Definition at line 842 of file SemaARM.cpp.

Referenced by CheckARMBuiltinFunctionCall(), and CheckCDEBuiltinFunctionCall().

◆ CheckCDEBuiltinFunctionCall()

bool clang::SemaARM::CheckCDEBuiltinFunctionCall ( const TargetInfo TI,
unsigned  BuiltinID,
CallExpr TheCall 
)

Definition at line 826 of file SemaARM.cpp.

References CheckARMCoprocessorImmediate(), and clang::CallExpr::getArg().

Referenced by CheckARMBuiltinFunctionCall().

◆ CheckMVEBuiltinFunctionCall()

bool clang::SemaARM::CheckMVEBuiltinFunctionCall ( unsigned  BuiltinID,
CallExpr TheCall 
)

Definition at line 817 of file SemaARM.cpp.

Referenced by CheckARMBuiltinFunctionCall().

◆ CheckNeonBuiltinFunctionCall()

bool clang::SemaARM::CheckNeonBuiltinFunctionCall ( const TargetInfo TI,
unsigned  BuiltinID,
CallExpr TheCall 
)

◆ CheckSMEBuiltinFunctionCall()

bool clang::SemaARM::CheckSMEBuiltinFunctionCall ( unsigned  BuiltinID,
CallExpr TheCall 
)

◆ CheckSVEBuiltinFunctionCall()

bool clang::SemaARM::CheckSVEBuiltinFunctionCall ( unsigned  BuiltinID,
CallExpr TheCall 
)

◆ handleBuiltinAliasAttr()

void clang::SemaARM::handleBuiltinAliasAttr ( Decl D,
const ParsedAttr AL 
)

Definition at line 1196 of file SemaARM.cpp.

◆ handleCmseNSEntryAttr()

void clang::SemaARM::handleCmseNSEntryAttr ( Decl D,
const ParsedAttr AL 
)

◆ handleInterruptAttr()

void clang::SemaARM::handleInterruptAttr ( Decl D,
const ParsedAttr AL 
)

◆ handleNewAttr()

void clang::SemaARM::handleNewAttr ( Decl D,
const ParsedAttr AL 
)

◆ MveAliasValid()

bool clang::SemaARM::MveAliasValid ( unsigned  BuiltinID,
llvm::StringRef  AliasName 
)

Definition at line 1169 of file SemaARM.cpp.

References clang::BuiltinAliasValid().

◆ ParseSVEImmChecks()

bool clang::SemaARM::ParseSVEImmChecks ( CallExpr TheCall,
llvm::SmallVector< std::tuple< int, int, int >, 3 > &  ImmChecks 
)

◆ SmeAliasValid()

bool clang::SemaARM::SmeAliasValid ( unsigned  BuiltinID,
llvm::StringRef  AliasName 
)

◆ SveAliasValid()

bool clang::SemaARM::SveAliasValid ( unsigned  BuiltinID,
llvm::StringRef  AliasName 
)

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