clang 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::AtomicScopeModel Class Referenceabstract

Defines the interface for synch scope model. More...

#include "clang/Basic/SyncScope.h"

Inheritance diagram for clang::AtomicScopeModel:
Inheritance graph
[legend]

Public Member Functions

virtual ~AtomicScopeModel ()
 
virtual SyncScope map (unsigned S) const =0
 Maps language specific synch scope values to internal SyncScope enum.
 
virtual bool isValid (unsigned S) const =0
 Check if the compile-time constant synch scope value is valid.
 
virtual ArrayRef< unsignedgetRuntimeValues () const =0
 Get all possible synch 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 synch scope value at runtime, it will fall back to a valid synch scope value returned by this function.
 

Static Public Member Functions

static std::unique_ptr< AtomicScopeModelcreate (AtomicScopeModelKind K)
 Create an atomic scope model by AtomicScopeModelKind.
 

Detailed Description

Defines the interface for synch scope model.

Definition at line 98 of file SyncScope.h.

Constructor & Destructor Documentation

◆ ~AtomicScopeModel()

virtual clang::AtomicScopeModel::~AtomicScopeModel ( )
inlinevirtual

Definition at line 100 of file SyncScope.h.

Member Function Documentation

◆ create()

std::unique_ptr< AtomicScopeModel > clang::AtomicScopeModel::create ( AtomicScopeModelKind  K)
inlinestatic

Create an atomic scope model by AtomicScopeModelKind.

Returns
an empty std::unique_ptr for AtomicScopeModelKind::None.

Definition at line 273 of file SyncScope.h.

References clang::Generic, clang::HIP, clang::None, and clang::OpenCL.

Referenced by clang::AtomicExpr::getScopeModel().

◆ getFallBackValue()

virtual unsigned clang::AtomicScopeModel::getFallBackValue ( ) const
pure virtual

If atomic builtin function is called with invalid synch scope value at runtime, it will fall back to a valid synch scope value returned by this function.

Implemented in clang::AtomicScopeOpenCLModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeGenericModel.

◆ getRuntimeValues()

virtual ArrayRef< unsigned > clang::AtomicScopeModel::getRuntimeValues ( ) const
pure virtual

Get all possible synch scope values that might be encountered at runtime for the current language.

Implemented in clang::AtomicScopeOpenCLModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeGenericModel.

◆ isValid()

virtual bool clang::AtomicScopeModel::isValid ( unsigned  S) const
pure virtual

Check if the compile-time constant synch scope value is valid.

Implemented in clang::AtomicScopeOpenCLModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeGenericModel.

◆ map()

virtual SyncScope clang::AtomicScopeModel::map ( unsigned  S) const
pure virtual

Maps language specific synch scope values to internal SyncScope enum.

Implemented in clang::AtomicScopeOpenCLModel, clang::AtomicScopeHIPModel, and clang::AtomicScopeGenericModel.


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