|
clang 22.0.0git
|
Defines the sync scope model for OpenCL. More...
#include "clang/Basic/SyncScope.h"
Public Types | |
| enum | ID { WorkGroup = 1 , Device = 2 , AllSVMDevices = 3 , SubGroup = 4 , Last = SubGroup } |
| The enum values match the pre-defined macros __OPENCL_MEMORY_SCOPE_*, which are used to define memory_scope_* enums in opencl-c-base.h. More... | |
Public Member Functions | |
| AtomicScopeOpenCLModel () | |
| SyncScope | map (unsigned S) const override |
| Maps language specific sync scope values to internal SyncScope enum. | |
| bool | isValid (unsigned S) const override |
| Check if the compile-time constant sync scope value is valid. | |
| ArrayRef< unsigned > | getRuntimeValues () const override |
| Get all possible sync scope values that might be encountered at runtime for the current language. | |
| unsigned | getFallBackValue () const override |
| 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. | |
| Public Member Functions inherited from clang::AtomicScopeModel | |
| virtual | ~AtomicScopeModel () |
Additional Inherited Members | |
| Static Public Member Functions inherited from clang::AtomicScopeModel | |
| static std::unique_ptr< AtomicScopeModel > | create (AtomicScopeModelKind K) |
| Create an atomic scope model by AtomicScopeModelKind. | |
Defines the sync scope model for OpenCL.
Definition at line 130 of file SyncScope.h.
The enum values match the pre-defined macros __OPENCL_MEMORY_SCOPE_*, which are used to define memory_scope_* enums in opencl-c-base.h.
| Enumerator | |
|---|---|
| WorkGroup | |
| Device | |
| AllSVMDevices | |
| SubGroup | |
| Last | |
Definition at line 135 of file SyncScope.h.
|
inline |
Definition at line 143 of file SyncScope.h.
|
inlineoverridevirtual |
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.
Implements clang::AtomicScopeModel.
Definition at line 172 of file SyncScope.h.
References AllSVMDevices.
|
inlineoverridevirtual |
Get all possible sync scope values that might be encountered at runtime for the current language.
Implements clang::AtomicScopeModel.
Definition at line 164 of file SyncScope.h.
References AllSVMDevices, Device, Last, SubGroup, and WorkGroup.
Check if the compile-time constant sync scope value is valid.
Implements clang::AtomicScopeModel.
Definition at line 159 of file SyncScope.h.
Maps language specific sync scope values to internal SyncScope enum.
Implements clang::AtomicScopeModel.
Definition at line 145 of file SyncScope.h.
References AllSVMDevices, Device, clang::OpenCLAllSVMDevices, clang::OpenCLDevice, clang::OpenCLSubGroup, clang::OpenCLWorkGroup, SubGroup, and WorkGroup.