LLVM OpenMP 19.0.0git
Public Member Functions | List of all members
kmp_flag_64< 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_64< Cancellable, Sleepable >:
Inheritance graph
[legend]

Public Member Functions

 kmp_flag_64 (volatile kmp_uint64 *p)
 
 kmp_flag_64 (volatile kmp_uint64 *p, kmp_info_t *thr)
 
 kmp_flag_64 (volatile kmp_uint64 *p, kmp_uint64 c)
 
 kmp_flag_64 (volatile kmp_uint64 *p, kmp_uint64 c, std::atomic< bool > *loc)
 
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_native< kmp_uint64, flag64, Sleepable >
 kmp_flag_native (volatile kmp_uint64 *p)
 
 kmp_flag_native (volatile kmp_uint64 *p, kmp_info_t *thr)
 
 kmp_flag_native (volatile kmp_uint64 *p, kmp_uint64 c)
 
 kmp_flag_native (volatile kmp_uint64 *p, kmp_uint64 c, std::atomic< bool > *sloc)
 
virtual ~kmp_flag_native ()
 
voidoperator new (size_t size)
 
void operator delete (void *p)
 
volatile kmp_uint64get ()
 
voidget_void_p ()
 
void set (volatile kmp_uint64 *new_loc)
 
kmp_uint64 load ()
 
void store (kmp_uint64 val)
 
virtual bool done_check ()
 
virtual bool done_check_val (kmp_uint64 old_loc)
 
virtual bool notdone_check ()
 
void internal_release ()
 
kmp_uint64 set_sleeping ()
 
void unset_sleeping ()
 
bool is_sleeping_val (kmp_uint64 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_native< kmp_uint64, flag64, Sleepable >
typedef kmp_uint64 flag_t
 
- Public Types inherited from kmp_flag< FlagType >
typedef flag_traits< FlagType > traits_type
 
- Protected Types inherited from kmp_flag_native< kmp_uint64, flag64, Sleepable >
typedef flag_traits< FlagType > traits_type
 
- Protected Attributes inherited from kmp_flag_native< kmp_uint64, flag64, Sleepable >
volatile kmp_uint64loc
 
kmp_uint64 checker
 When flag==checker, 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_64< Cancellable, Sleepable >

Definition at line 856 of file kmp_wait_release.h.

Constructor & Destructor Documentation

◆ kmp_flag_64() [1/4]

template<bool Cancellable, bool Sleepable>
kmp_flag_64< Cancellable, Sleepable >::kmp_flag_64 ( volatile kmp_uint64 p)
inline

Definition at line 858 of file kmp_wait_release.h.

◆ kmp_flag_64() [2/4]

template<bool Cancellable, bool Sleepable>
kmp_flag_64< Cancellable, Sleepable >::kmp_flag_64 ( volatile kmp_uint64 p,
kmp_info_t thr 
)
inline

Definition at line 860 of file kmp_wait_release.h.

◆ kmp_flag_64() [3/4]

template<bool Cancellable, bool Sleepable>
kmp_flag_64< Cancellable, Sleepable >::kmp_flag_64 ( volatile kmp_uint64 p,
kmp_uint64  c 
)
inline

Definition at line 862 of file kmp_wait_release.h.

◆ kmp_flag_64() [4/4]

template<bool Cancellable, bool Sleepable>
kmp_flag_64< Cancellable, Sleepable >::kmp_flag_64 ( volatile kmp_uint64 p,
kmp_uint64  c,
std::atomic< bool > *  loc 
)
inline

Definition at line 864 of file kmp_wait_release.h.

Member Function Documentation

◆ execute_tasks()

template<bool Cancellable, bool Sleepable>
int kmp_flag_64< 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 871 of file kmp_wait_release.h.

References __kmp_execute_tasks_64(), and USE_ITT_BUILD_ARG.

◆ get_ptr_type()

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

Definition at line 888 of file kmp_wait_release.h.

References flag64.

◆ release()

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

Definition at line 887 of file kmp_wait_release.h.

References __kmp_release_template().

Referenced by __kmp_hyper_barrier_gather().

◆ resume()

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

Definition at line 870 of file kmp_wait_release.h.

References __kmp_resume_64().

Referenced by __kmp_resume_if_soft_paused().

◆ suspend()

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

Definition at line 866 of file kmp_wait_release.h.

References __kmp_suspend_64().

◆ wait()

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

Definition at line 878 of file kmp_wait_release.h.

References USE_ITT_BUILD_ARG.

Referenced by __kmp_hyper_barrier_gather().


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