diff --git a/clang/docs/OpenMPSupport.rst b/clang/docs/OpenMPSupport.rst index 5a5fa950adcd4..be3894389a351 100644 --- a/clang/docs/OpenMPSupport.rst +++ b/clang/docs/OpenMPSupport.rst @@ -148,7 +148,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | task | task affinity | :part:`not upstream` | https://github.com/jklinkenberg/openmp/tree/task-affinity | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| task | clause: depend on the taskwait construct | :part:`mostly done` | D113540 (regular codegen only) | +| task | clause: depend on the taskwait construct | :good:`done` | D113540 (regular codegen only) | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | task | depend objects and detachable tasks | :good:`done` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -196,7 +196,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | allow access to the reference count (omp_target_is_present) | :good:`done` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| device | requires directive | :part:`partial` | | +| device | requires directive | :good:`done` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | clause: unified_shared_memory | :good:`done` | D52625,D52359 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -208,7 +208,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | clause: dynamic_allocators | :part:`unclaimed parts` | D53079 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| device | user-defined mappers | :part:`worked on` | D56326,D58638,D58523,D58074,D60972,D59474 | +| device | user-defined mappers | :good:`done` | D56326,D58638,D58523,D58074,D60972,D59474 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | mapping lambda expression | :good:`done` | D51107 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -220,9 +220,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | support non-contiguous array sections for target update | :good:`done` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| device | pointer attachment | :none:`unclaimed` | | -+------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| device | map clause reordering based on map types | :none:`unclaimed` | | +| device | pointer attachment | :good:`done` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | atomic | hints for the atomic construct | :good:`done` | D51233 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -234,7 +232,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | array shaping | :good:`done` | D74144 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| misc | library shutdown (omp_pause_resource[_all]) | :none:`unclaimed parts` | D55078 | +| misc | library shutdown (omp_pause_resource[_all]) | :good:`done` | D55078 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | metadirectives | :part:`worked on` | D91944 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -246,7 +244,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | user-defined function variants | :part:`worked on` | D67294, D64095, D71847, D71830, D109635 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| misc | pointer/reference to pointer based array reductions | :none:`unclaimed` | | +| misc | pointer/reference to pointer based array reductions | :good:`done` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | prevent new type definitions in clauses | :good:`done` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -258,7 +256,7 @@ OpenMP 5.1 Implementation Details ================================= The following table provides a quick overview over various OpenMP 5.1 features -and their implementation status, as defined in the technical report 8 (TR8). +and their implementation status. Please post on the `Discourse forums (Runtimes - OpenMP category)`_ for more information or if you want to help with the @@ -269,7 +267,7 @@ implementation. +==============================+==============================================================+==========================+=======================================================================+ | atomic | 'compare' clause on atomic construct | :good:`done` | D120290, D120007, D118632, D120200, D116261, D118547, D116637 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| atomic | 'fail' clause on atomic construct | :part:`worked on` | | +| atomic | 'fail' clause on atomic construct | :part:`worked on` | D123235 (in progress) | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | base language | C++ attribute specifier syntax | :good:`done` | D105648 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -279,7 +277,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | 'present' in defaultmap clause | :good:`done` | D92427 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| device | map clause reordering reordering based on 'present' modifier | :none:`unclaimed` | | +| device | map clause reordering based on 'present' modifier | :none:`unclaimed` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | device-specific environment variables | :none:`unclaimed` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -289,7 +287,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | new async target memory copy routines | :good:`done` | D136103 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| device | thread_limit clause on target construct | :none:`worked on` | | +| device | thread_limit clause on target construct | :part:`partial` | D141540 (offload), D152054 (host, in progress) | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | has_device_addr clause on target construct | :none:`unclaimed` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -301,7 +299,7 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | device | interop construct | :part:`partial` | parsing/sema done: D98558, D98834, D98815 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| device | assorted routines for querying interoperable properties | :none:`unclaimed` | | +| device | assorted routines for querying interoperable properties | :part:`partial` | D106674 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | loop | Loop tiling transformation | :good:`done` | D76342 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -319,15 +317,15 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | 'omp_all_memory' keyword and use in 'depend' clause | :good:`done` | D125828, D126321 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| misc | error directive | :none:`unclaimed` | | +| misc | error directive | :good:`done` | D139166 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | scope construct | :none:`worked on` | D157933 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| misc | routines for controlling and querying team regions | :none:`unclaimed` | | +| misc | routines for controlling and querying team regions | :part:`partial` | D95003 (libomp only) | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | changes to ompt_scope_endpoint_t enum | :none:`unclaimed` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| misc | omp_display_env routine | :none:`unclaimed` | | +| misc | omp_display_env routine | :good:`done` | D74956 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | extended OMP_PLACES syntax | :none:`unclaimed` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -341,11 +339,11 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | assume and assumes directives | :part:`worked on` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| misc | nothing directive | :part:`worked on` | | +| misc | nothing directive | :good:`done` | D123286 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | misc | masked construct and related combined constructs | :part:`worked on` | D99995, D100514 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| misc | default(firstprivate) & default(private) | :part:`partial` | firstprivate done: D75591 | +| misc | default(firstprivate) & default(private) | :good:`done` | D75591 (firstprivate), D125912 (private) | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | other | deprecating master construct | :none:`unclaimed` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ @@ -361,9 +359,9 @@ implementation. +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ | task | 'strict' modifier for taskloop construct | :none:`unclaimed` | | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| task | inoutset in depend clause | :none:`unclaimed` | | +| task | inoutset in depend clause | :good:`done` | D97085, D118383 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ -| task | nowait clause on taskwait | :part:`worked on` | | +| task | nowait clause on taskwait | :part:`partial` | parsing/sema done: D131830, D141531 | +------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+ OpenMP Extensions