|
clang 22.0.0git
|
Defines the sync scope model for HIP. More...
#include "clang/Basic/SyncScope.h"
Public Types | |
| enum | ID { SingleThread = 1 , Wavefront = 2 , Workgroup = 3 , Agent = 4 , System = 5 , Cluster = 6 , End , Last = End - 1 , Count = Last } |
| The enum values match the pre-defined macros __HIP_MEMORY_SCOPE_*, which are used to define memory_scope_* enums in hip-c.h. More... | |
Public Member Functions | |
| AtomicScopeHIPModel () | |
| 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 HIP.
Definition at line 178 of file SyncScope.h.
The enum values match the pre-defined macros __HIP_MEMORY_SCOPE_*, which are used to define memory_scope_* enums in hip-c.h.
These may be present in pch files or bitcode so preserve existing values when adding a new ID.
| Enumerator | |
|---|---|
| SingleThread | |
| Wavefront | |
| Workgroup | |
| Agent | |
| System | |
| Cluster | |
| End | |
| Last | |
| Count | |
Definition at line 185 of file SyncScope.h.
|
inline |
Definition at line 197 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 234 of file SyncScope.h.
References System.
Get all possible sync scope values that might be encountered at runtime for the current language.
Implements clang::AtomicScopeModel.
Definition at line 224 of file SyncScope.h.
References Agent, Cluster, Count, SingleThread, System, Wavefront, and Workgroup.
Check if the compile-time constant sync scope value is valid.
Implements clang::AtomicScopeModel.
Definition at line 219 of file SyncScope.h.
References Last, and SingleThread.
Maps language specific sync scope values to internal SyncScope enum.
Implements clang::AtomicScopeModel.
Definition at line 199 of file SyncScope.h.
References Agent, Cluster, End, clang::HIPAgent, clang::HIPCluster, clang::HIPSingleThread, clang::HIPSystem, clang::HIPWavefront, clang::HIPWorkgroup, SingleThread, System, Wavefront, and Workgroup.