[OPENMP][DOC]Provide correct info about supported features, NFC.
authorAlexey Bataev <a.bataev@hotmail.com>
Wed, 30 Oct 2019 14:38:11 +0000 (10:38 -0400)
committerAlexey Bataev <a.bataev@hotmail.com>
Wed, 30 Oct 2019 14:38:11 +0000 (10:38 -0400)
Removed the explicit list of supported features from OpenMP 5.0 and used
the reference to the table instead. Also, fixed info about constructs
that can be executed in SPMD mode, if and num_threads clauses do not
affect it anymore.

clang/docs/OpenMPSupport.rst

index ab95501..5e88276 100644 (file)
 OpenMP Support
 ==================
 
-Clang supports the following OpenMP 5.0 features (see also `OpenMP implementation details`_):
-
-* The `reduction`-based clauses in the `task` and `target`-based directives.
-
-* Support relational-op != (not-equal) as one of the canonical forms of random
-  access iterator.
-
-* Support for mapping of the lambdas in target regions.
-
-* Parsing/sema analysis for the requires directive.
-
-* Nested declare target directives.
-
-* Make the `this` pointer implicitly mapped as `map(this[:1])`.
-
-* The `close` *map-type-modifier*.
-
 Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
 PPC64[LE] and has `basic support for Cuda devices`_.
 
@@ -44,6 +27,8 @@ PPC64[LE] and has `basic support for Cuda devices`_.
 In addition, the LLVM OpenMP runtime `libomp` supports the OpenMP Tools
 Interface (OMPT) on x86, x86_64, AArch64, and PPC64 on Linux, Windows, and macOS.
 
+For the list of supported features from OpenMP 5.0 see `OpenMP implementation details`_.
+
 General improvements
 --------------------
 - New collapse clause scheme to avoid expensive remainder operations.
@@ -78,12 +63,6 @@ supporting some OpenMP features. The non-SPMD mode is the most generic mode and
 supports all currently available OpenMP features. The compiler will always
 attempt to use the SPMD mode wherever possible. SPMD mode will not be used if:
 
-   - The target region contains an `if()` clause that refers to a `parallel`
-     directive.
-
-   - The target region contains a `parallel` directive with a `num_threads()`
-     clause.
-
    - The target region contains user code (other than OpenMP-specific
      directives) in between the `target` and the `parallel` directives.