|
clang 22.0.0git
|
Defines the interface for sync scope model. More...
#include "clang/Basic/SyncScope.h"
Public Member Functions | |
| virtual | ~AtomicScopeModel () |
| virtual SyncScope | map (unsigned S) const =0 |
| Maps language specific sync scope values to internal SyncScope enum. | |
| virtual bool | isValid (unsigned S) const =0 |
| Check if the compile-time constant sync scope value is valid. | |
| virtual ArrayRef< unsigned > | getRuntimeValues () const =0 |
| Get all possible sync scope values that might be encountered at runtime for the current language. | |
| virtual unsigned | getFallBackValue () const =0 |
| If atomic builtin function is called with invalid sync scope value at runtime, it will fall back to a valid sync scope value returned by this function. | |
Static Public Member Functions | |
| static std::unique_ptr< AtomicScopeModel > | create (AtomicScopeModelKind K) |
| Create an atomic scope model by AtomicScopeModelKind. | |
Defines the interface for sync scope model.
Definition at line 104 of file SyncScope.h.
|
inlinevirtual |
Definition at line 106 of file SyncScope.h.
|
inlinestatic |
Create an atomic scope model by AtomicScopeModelKind.
Definition at line 298 of file SyncScope.h.
References clang::Generic, clang::HIP, clang::None, and clang::OpenCL.
Referenced by clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), and clang::AtomicExpr::getScopeModel().
|
pure virtual |
If atomic builtin function is called with invalid sync scope value at runtime, it will fall back to a valid sync scope value returned by this function.
Implemented in clang::AtomicScopeGenericModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeOpenCLModel.
Get all possible sync scope values that might be encountered at runtime for the current language.
Implemented in clang::AtomicScopeGenericModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeOpenCLModel.
Check if the compile-time constant sync scope value is valid.
Implemented in clang::AtomicScopeGenericModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeOpenCLModel.
Maps language specific sync scope values to internal SyncScope enum.
Implemented in clang::AtomicScopeGenericModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeOpenCLModel.