LLVM OpenMP* Runtime Library
Modules
Here is a list of all modules:
 Atomic OperationsThese functions are used for implementing the many different varieties of atomic operations
 Wait/Release operationsThe definitions and functions here implement the lowest level thread synchronizations of suspending a thread and awaking it. They are used to build higher level operations such as barriers and fork/join
 Basic TypesTypes that are used throughout the runtime
 Deprecated FunctionsFunctions in this group are for backwards compatibility only, and should not be used in new code
 Startup and ShutdownThese functions are for library initialization and shutdown
 Parallel (fork/join)These functions are used for implementing #pragma omp parallel
 Thread InformationThese functions return information about the currently executing thread
 Work SharingThese functions are used for implementing #pragma omp for, #pragma omp sections, #pragma omp single and #pragma omp master constructs
 SynchronizationThese functions are used for implementing barriers
 Thread private data supportThese functions support copyin/out and thread private data
 Statistics Gathering from OMPTBThese macros support profiling the libomp library. Use –stats=on when building with build.pl to enable and then use the KMP_* macros to profile (through counts or clock ticks) libomp during execution of an OpenMP program
 Tasking supportThese functions support tasking constructs
 User visible functionsThese functions can be called directly by the user, but are runtime library specific, rather than being OpenMP interfaces