<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>This is is the status of OpenMP support in 6.0. There is nothing
      new since branching.<br>
    </p>
    <pre class="moz-signature" cols="72">-------------
Best regards,
Alexey Bataev</pre>
    <div class="moz-cite-prefix">08.01.2018 14:09, Jonas Hahnfeld via
      cfe-commits пишет:<br>
    </div>
    <blockquote type="cite"
      cite="mid:%3Cddd6de0c9266d484133ef738b64ed0c5@hahnjo.de%3E">Can we
      backport this page to release_60? I think the documented support
      is also valid for 6.0 or did I miss recent commits that added
      support for new directives / clauses?
      <br>
      <br>
      Am 2018-01-08 20:02, schrieb Alexey Bataev via cfe-commits:
      <br>
      <blockquote type="cite">Author: abataev
        <br>
        Date: Mon Jan  8 11:02:51 2018
        <br>
        New Revision: 322018
        <br>
        <br>
        URL: <a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project?rev=322018&view=rev">http://llvm.org/viewvc/llvm-project?rev=322018&view=rev</a>
        <br>
        Log:
        <br>
        [OPENMP] Current status of OpenMP support.
        <br>
        <br>
        Summary: Some info about supported features of OpenMP 4.5-5.0.
        <br>
        <br>
        Reviewers: hfinkel, rsmith
        <br>
        <br>
        Subscribers: kkwli0, Hahnfeld, cfe-commits
        <br>
        <br>
        Differential Revision: <a class="moz-txt-link-freetext" href="https://reviews.llvm.org/D39457">https://reviews.llvm.org/D39457</a>
        <br>
        <br>
        Added:
        <br>
            cfe/trunk/docs/OpenMPSupport.rst
        <br>
        Modified:
        <br>
            cfe/trunk/docs/index.rst
        <br>
        <br>
        Added: cfe/trunk/docs/OpenMPSupport.rst
        <br>
        URL:
        <br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/OpenMPSupport.rst?rev=322018&view=auto">http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/OpenMPSupport.rst?rev=322018&view=auto</a>
        <br>
==============================================================================
        <br>
        --- cfe/trunk/docs/OpenMPSupport.rst (added)
        <br>
        +++ cfe/trunk/docs/OpenMPSupport.rst Mon Jan  8 11:02:51 2018
        <br>
        @@ -0,0 +1,68 @@
        <br>
        +.. raw:: html
        <br>
        +
        <br>
        +  <style type="text/css">
        <br>
        +    .none { background-color: #FFCCCC }
        <br>
        +    .partial { background-color: #FFFF99 }
        <br>
        +    .good { background-color: #CCFF99 }
        <br>
        +  </style>
        <br>
        +
        <br>
        +.. role:: none
        <br>
        +.. role:: partial
        <br>
        +.. role:: good
        <br>
        +
        <br>
        +==================
        <br>
        +OpenMP Support
        <br>
        +==================
        <br>
        +
        <br>
        +Clang fully supports OpenMP 3.1 + some elements of OpenMP 4.5.
        Clang
        <br>
        supports offloading to X86_64, AArch64 and PPC64[LE] devices.
        <br>
        +Support for Cuda devices is not ready yet.
        <br>
        +The status of major OpenMP 4.5 features support in Clang.
        <br>
        +
        <br>
        +Standalone directives
        <br>
        +=====================
        <br>
        +
        <br>
        +* #pragma omp [for] simd: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp declare simd: :partial:`Partial`.  We support
        parsing/semantic
        <br>
        +  analysis + generation of special attributes for X86 target,
        but still
        <br>
        +  missing the LLVM pass for vectorization.
        <br>
        +
        <br>
        +* #pragma omp taskloop [simd]: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp target [enter|exit] data: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp target update: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp target: :partial:`Partial`.  No support for the
        `depend` clauses.
        <br>
        +
        <br>
        +* #pragma omp declare target: :partial:`Partial`.  No full
        codegen support.
        <br>
        +
        <br>
        +* #pragma omp teams: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp distribute [simd]: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp distribute parallel for [simd]: :good:`Complete`.
        <br>
        +
        <br>
        +Combined directives
        <br>
        +===================
        <br>
        +
        <br>
        +* #pragma omp parallel for simd: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp target parallel: :partial:`Partial`.  No support
        for
        <br>
        the `depend` clauses.
        <br>
        +
        <br>
        +* #pragma omp target parallel for [simd]: :partial:`Partial`. 
        No
        <br>
        support for the `depend` clauses.
        <br>
        +
        <br>
        +* #pragma omp target simd: :partial:`Partial`.  No support for
        the
        <br>
        `depend` clauses.
        <br>
        +
        <br>
        +* #pragma omp target teams: :partial:`Partial`.  No support for
        the
        <br>
        `depend` clauses.
        <br>
        +
        <br>
        +* #pragma omp teams distribute [simd]: :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp target teams distribute [simd]:
        :partial:`Partial`.  No
        <br>
        support for the and `depend` clauses.
        <br>
        +
        <br>
        +* #pragma omp teams distribute parallel for [simd]:
        :good:`Complete`.
        <br>
        +
        <br>
        +* #pragma omp target teams distribute parallel for [simd]:
        <br>
        :partial:`Partial`.  No full codegen support.
        <br>
        +
        <br>
        +Clang does not support any constructs/updates from upcoming
        OpenMP
        <br>
        5.0 except for `reduction`-based clauses in the `task` and
        <br>
        `target`-based directives.
        <br>
        +
        <br>
        <br>
        Modified: cfe/trunk/docs/index.rst
        <br>
        URL:
        <br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/index.rst?rev=322018&r1=322017&r2=322018&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/index.rst?rev=322018&r1=322017&r2=322018&view=diff</a>
        <br>
==============================================================================
        <br>
        --- cfe/trunk/docs/index.rst (original)
        <br>
        +++ cfe/trunk/docs/index.rst Mon Jan  8 11:02:51 2018
        <br>
        @@ -39,6 +39,7 @@ Using Clang as a Compiler
        <br>
            SourceBasedCodeCoverage
        <br>
            Modules
        <br>
            MSVCCompatibility
        <br>
        +   OpenMPSupport
        <br>
            ThinLTO
        <br>
            CommandGuide/index
        <br>
            FAQ
        <br>
        <br>
        <br>
        _______________________________________________
        <br>
        cfe-commits mailing list
        <br>
        <a class="moz-txt-link-abbreviated" href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>
        <br>
        <a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>