Page MenuHomePhabricator

Hinted lock (OpenMP 4.5 feature) Updates/Fixes Part 3

Authored by jlpeyton on Dec 3 2015, 1:29 PM.



This change set includes all changes to make the code conform to the OMP 4.5 specification:

  • Removed hint / hinted_init definitions from include/40 files
  • Hint values are powers of 2 to enable composition (4.5 spec)
  • Hinted lock initialization functions were renamed (4.5 spec) kmp_init_lock_hinted -> omp_init_lock_with_hint kmp_init_nest_lock_hinted -> omp_init_nest_lock_with_hint
  • __kmpc_critical_section_with_hint was added to support a critical section with a hint (4.5 spec)
  • __kmp_map_hint_to_lock was added to convert a hint (possibly a composite) to an internal lock type
  • kmpc_init_lock_with_hint and kmpc_init_nest_lock_with_hint were added as internal entries for the hinted lock initializers. The preivous internal functions (__kmp_init*) were moved to kmp_csupport.c and reused in multiple places
  • Added the two init functions to dllexports
  • KMP_USE_DYNAMIC_LOCK is turned on if OMP_41_ENABLED is turned on

Diff Detail


Event Timeline

jlpeyton updated this revision to Diff 41796.Dec 3 2015, 1:29 PM
jlpeyton retitled this revision from to Hinted lock (OpenMP 4.5 feature) Updates/Fixes Part 3.
jlpeyton updated this object.
jlpeyton set the repository for this revision to rL LLVM.
jlpeyton added a subscriber: openmp-commits.

Adding Hansang as a reviewer.

hbae accepted this revision.Dec 11 2015, 1:05 PM
hbae edited edge metadata.


This revision is now accepted and ready to land.Dec 11 2015, 1:05 PM
This revision was automatically updated to reflect the committed changes.