LLVM OpenMP 19.0.0git
Public Member Functions | List of all members
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 >:
Inheritance graph
[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)
 
 kmp_flag_atomic (std::atomic< kmp_uint32 > *p, kmp_info_t *thr)
 
 kmp_flag_atomic (std::atomic< kmp_uint32 > *p, kmp_uint32 c)
 
 kmp_flag_atomic (std::atomic< kmp_uint32 > *p, kmp_uint32 c, std::atomic< bool > *sloc)
 
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]
 Threads sleeping on this thread.
 
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 822 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

Definition at line 824 of file kmp_wait_release.h.

◆ 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

Definition at line 826 of file kmp_wait_release.h.

◆ 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

Definition at line 828 of file kmp_wait_release.h.

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 835 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 852 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 851 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 834 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 830 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 842 of file kmp_wait_release.h.

References USE_ITT_BUILD_ARG.

Referenced by __kmp_dist_barrier_release().


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