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 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.
 
bool BuiltinARMMemoryTaggingCall (unsigned BuiltinID, CallExpr *TheCall)
 BuiltinARMMemoryTaggingCall - Handle calls of memory tagging extensions.
 
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
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
 Emit a diagnostic.
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
 Emit a partial diagnostic.
 
PartialDiagnostic PDiag (unsigned DiagID=0)
 Build a partial diagnostic.
 

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 
)

◆ 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().

Referenced by handleBuiltinAliasAttr(), and handleBuiltinAliasAttr().

◆ CheckAArch64BuiltinFunctionCall()

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

◆ CheckARMBuiltinExclusiveCall()

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

◆ 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 
)

◆ 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 
)

◆ 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().

Referenced by handleBuiltinAliasAttr(), and handleBuiltinAliasAttr().

◆ 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: