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, StringRef AliasName)
 
bool CdeAliasValid (unsigned BuiltinID, StringRef AliasName)
 
bool SveAliasValid (unsigned BuiltinID, StringRef AliasName)
 
bool SmeAliasValid (unsigned BuiltinID, 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 26 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 30 of file SemaARM.h.

Constructor & Destructor Documentation

◆ SemaARM()

clang::SemaARM::SemaARM ( Sema S)

Definition at line 22 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,
StringRef  AliasName 
)

Definition at line 1176 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 825 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 816 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,
StringRef  AliasName 
)

Definition at line 1168 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,
StringRef  AliasName 
)

◆ SveAliasValid()

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

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