LLVM OpenMP 22.0.0git
kmp_flag_32< Cancellable, Sleepable > Class Template Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/openmp/runtime/src/kmp_wait_release.h"

Inheritance diagram for kmp_flag_32< Cancellable, Sleepable >:
[legend]

Public Member Functions

 kmp_flag_32 (std::atomic< kmp_uint32 > *p)
 kmp_flag_32 (std::atomic< kmp_uint32 > *p, kmp_info_t *thr)
 kmp_flag_32 (std::atomic< kmp_uint32 > *p, kmp_uint32 c)
void suspend (int th_gtid)
void resume (int th_gtid)
int execute_tasks (kmp_info_t *this_thr, kmp_int32 gtid, int final_spin, int *thread_finished USE_ITT_BUILD_ARG(void *itt_sync_obj), kmp_int32 is_constrained)
bool wait (kmp_info_t *this_thr, int final_spin USE_ITT_BUILD_ARG(void *itt_sync_obj))
void release ()
flag_type get_ptr_type ()
Public Member Functions inherited from kmp_flag_atomic< kmp_uint32, flag32, Sleepable >
 kmp_flag_atomic (std::atomic< kmp_uint32 > *p)
std::atomic< kmp_uint32 > * get ()
voidget_void_p ()
void set (std::atomic< kmp_uint32 > *new_loc)
kmp_uint32 load ()
void store (kmp_uint32 val)
bool done_check ()
bool done_check_val (kmp_uint32 old_loc)
bool notdone_check ()
void internal_release ()
kmp_uint32 set_sleeping ()
void unset_sleeping ()
bool is_sleeping_val (kmp_uint32 old_loc)
bool is_sleeping ()
 Test whether there are threads sleeping on the flag.
bool is_any_sleeping ()
kmp_uint8get_stolen ()
Public Member Functions inherited from kmp_flag< FlagType >
 kmp_flag ()
 kmp_flag (int nwaiters)
 kmp_flag (std::atomic< bool > *sloc)
flag_type get_type ()
kmp_info_tget_waiter (kmp_uint32 i)
 param i in index into waiting_threads
kmp_uint32 get_num_waiters ()
void set_waiter (kmp_info_t *thr)
enum barrier_type get_bt ()

Additional Inherited Members

Public Types inherited from kmp_flag_atomic< kmp_uint32, flag32, Sleepable >
typedef flag_traits< FlagType > traits_type
typedef kmp_uint32 flag_t
Public Types inherited from kmp_flag< FlagType >
typedef flag_traits< FlagType > traits_type
Protected Attributes inherited from kmp_flag_atomic< kmp_uint32, flag32, Sleepable >
std::atomic< kmp_uint32 > * loc
 Pointer to flag location to wait on.
kmp_uint32 checker
 Flag==checker means it has been released.
Protected Attributes inherited from kmp_flag< FlagType >
flag_properties t
 "Type" of the flag in loc
kmp_info_twaiting_threads [1] = {nullptr}
kmp_uint32 num_waiting_threads
 Num threads sleeping on this thread.
std::atomic< bool > * sleepLoc

Detailed Description

template<bool Cancellable, bool Sleepable>
class kmp_flag_32< Cancellable, Sleepable >

Definition at line 827 of file kmp_wait_release.h.

Constructor & Destructor Documentation

◆ kmp_flag_32() [1/3]

template<bool Cancellable, bool Sleepable>
kmp_flag_32< Cancellable, Sleepable >::kmp_flag_32 ( std::atomic< kmp_uint32 > * p)
inline

◆ kmp_flag_32() [2/3]

template<bool Cancellable, bool Sleepable>
kmp_flag_32< Cancellable, Sleepable >::kmp_flag_32 ( std::atomic< kmp_uint32 > * p,
kmp_info_t * thr )
inline

◆ kmp_flag_32() [3/3]

template<bool Cancellable, bool Sleepable>
kmp_flag_32< Cancellable, Sleepable >::kmp_flag_32 ( std::atomic< kmp_uint32 > * p,
kmp_uint32 c )
inline

Member Function Documentation

◆ execute_tasks()

template<bool Cancellable, bool Sleepable>
int kmp_flag_32< Cancellable, Sleepable >::execute_tasks ( kmp_info_t * this_thr,
kmp_int32 gtid,
int final_spin,
int *thread_finished USE_ITT_BUILD_ARGvoid *itt_sync_obj,
kmp_int32 is_constrained )
inline

Definition at line 840 of file kmp_wait_release.h.

References __kmp_execute_tasks_32(), and USE_ITT_BUILD_ARG.

Referenced by __kmp_tasking_barrier().

◆ get_ptr_type()

template<bool Cancellable, bool Sleepable>
flag_type kmp_flag_32< Cancellable, Sleepable >::get_ptr_type ( )
inline

Definition at line 857 of file kmp_wait_release.h.

References flag32.

◆ release()

template<bool Cancellable, bool Sleepable>
void kmp_flag_32< Cancellable, Sleepable >::release ( )
inline

Definition at line 856 of file kmp_wait_release.h.

References __kmp_release_template().

◆ resume()

template<bool Cancellable, bool Sleepable>
void kmp_flag_32< Cancellable, Sleepable >::resume ( int th_gtid)
inline

Definition at line 839 of file kmp_wait_release.h.

References __kmp_resume_32().

◆ suspend()

template<bool Cancellable, bool Sleepable>
void kmp_flag_32< Cancellable, Sleepable >::suspend ( int th_gtid)
inline

Definition at line 835 of file kmp_wait_release.h.

References __kmp_suspend_32().

◆ wait()

template<bool Cancellable, bool Sleepable>
bool kmp_flag_32< Cancellable, Sleepable >::wait ( kmp_info_t * this_thr,
int final_spin USE_ITT_BUILD_ARGvoid *itt_sync_obj )
inline

Definition at line 847 of file kmp_wait_release.h.

References __kmp_wait_template(), and USE_ITT_BUILD_ARG.

Referenced by __kmp_dist_barrier_release().


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