[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-09-04 Thread Johannes Doerfert via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
jdoerfert marked an inline comment as done.
Closed by commit rL370930: [OpenMP][Docs] Provide implementation status details 
(authored by jdoerfert, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Changed prior to commit:
  https://reviews.llvm.org/D64375?vs=217631=218740#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375

Files:
  cfe/trunk/docs/OpenMPSupport.rst

Index: cfe/trunk/docs/OpenMPSupport.rst
===
--- cfe/trunk/docs/OpenMPSupport.rst
+++ cfe/trunk/docs/OpenMPSupport.rst
@@ -2,12 +2,12 @@
 
   
 .none { background-color: #FF }
-.partial { background-color: #99 }
+.part { background-color: #99 }
 .good { background-color: #CCFF99 }
   
 
 .. role:: none
-.. role:: partial
+.. role:: part
 .. role:: good
 
 .. contents::
@@ -17,7 +17,7 @@
 OpenMP Support
 ==
 
-Clang supports the following OpenMP 5.0 features
+Clang supports the following OpenMP 5.0 features (see also `OpenMP implementation details`_):
 
 * The `reduction`-based clauses in the `task` and `target`-based directives.
 
@@ -37,7 +37,7 @@
 Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
 PPC64[LE] and has `basic support for Cuda devices`_.
 
-* #pragma omp declare simd: :partial:`Partial`.  We support parsing/semantic
+* #pragma omp declare simd: :part:`Partial`.  We support parsing/semantic
   analysis + generation of special attributes for X86 target, but still
   missing the LLVM pass for vectorization.
 
@@ -129,3 +129,131 @@
   In some cases the local variables are actually allocated in the global memory,
   but the debug info may be not aware of it.
 
+
+.. _OpenMP implementation details:
+
+OpenMP 5.0 Implementation Details
+-
+
+The following table provides a quick overview over various OpenMP 5.0 features
+and their implementation status. Please contact *openmp-dev* at
+*lists.llvm.org* for more information or if you want to help with the
+implementation.
+
++--+--+--+---+
+|Category  | Feature  | Status   | Reviews   |
++==+==+==+===+
+| loop extension   | support != in the canonical loop form| :good:`done` | D54441|
++--+--+--+---+
+| loop extension   | #pragma omp loop (directive) | :none:`unclaimed`|   |
++--+--+--+---+
+| loop extension   | collapse imperfectly nested loop | :none:`unclaimed`|   |
++--+--+--+---+
+| loop extension   | collapse non-rectangular nested loop | :part:`worked on`|   |
++--+--+--+---+
+| loop extension   | C++ range-base for loop  | :none:`unclaimed`|   |
++--+--+--+---+
+| loop extension   | clause: nosimd for SIMD directives   | :none:`unclaimed`|   |

[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-09-04 Thread Joachim Protze via Phabricator via cfe-commits
protze.joachim added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:165
++--+--+--++
+| OMPD | OMPD interfaces   
   | mostly done  ||
++--+--+--++

Hahnfeld wrote:
> jdoerfert wrote:
> > Hahnfeld wrote:
> > > This is not correct, at least it's not yet upstream.
> > Is there anything upstreamed? What should I put for status and 
> > revisions/reviews?
> I don't think there's a review yet. @protze.joachim ?
There is no review yet. Implementation is available in 
https://github.com/OpenMPToolsInterface/LLVM-openmp/tree/ompd-tests


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-09-04 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev accepted this revision.
ABataev added a comment.
This revision is now accepted and ready to land.

LG




Comment at: clang/docs/OpenMPSupport.rst:204
++--+--+--++
+| device extension | clause: device_type   
   | :part:`worked on`| 
   |
++--+--+--++

jdoerfert wrote:
> ABataev wrote:
> > This feature is implemented already
> If we wait longer, we can always update this patch. Maybe we should upstream 
> it and update it online.
> 
> @RaviNarayanaswamy @kkwli0 @ABataev 
Add the latest info and commit it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-09-04 Thread Kelvin Li via Phabricator via cfe-commits
kkwli0 added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:204
++--+--+--++
+| device extension | clause: device_type   
   | :part:`worked on`| 
   |
++--+--+--++

ABataev wrote:
> jdoerfert wrote:
> > ABataev wrote:
> > > This feature is implemented already
> > If we wait longer, we can always update this patch. Maybe we should 
> > upstream it and update it online.
> > 
> > @RaviNarayanaswamy @kkwli0 @ABataev 
> Add the latest info and commit it.
Agreed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-09-04 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done.
jdoerfert added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:204
++--+--+--++
+| device extension | clause: device_type   
   | :part:`worked on`| 
   |
++--+--+--++

ABataev wrote:
> This feature is implemented already
If we wait longer, we can always update this patch. Maybe we should upstream it 
and update it online.

@RaviNarayanaswamy @kkwli0 @ABataev 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-08-28 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:204
++--+--+--++
+| device extension | clause: device_type   
   | :part:`worked on`| 
   |
++--+--+--++

This feature is implemented already


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-08-28 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 217631.
jdoerfert marked 2 inline comments as done.
jdoerfert added a comment.

Update according to comments


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375

Files:
  clang/docs/OpenMPSupport.rst

Index: clang/docs/OpenMPSupport.rst
===
--- clang/docs/OpenMPSupport.rst
+++ clang/docs/OpenMPSupport.rst
@@ -2,12 +2,12 @@
 
   
 .none { background-color: #FF }
-.partial { background-color: #99 }
+.part { background-color: #99 }
 .good { background-color: #CCFF99 }
   
 
 .. role:: none
-.. role:: partial
+.. role:: part
 .. role:: good
 
 .. contents::
@@ -17,7 +17,7 @@
 OpenMP Support
 ==
 
-Clang supports the following OpenMP 5.0 features
+Clang supports the following OpenMP 5.0 features (see also `OpenMP implementation details`_):
 
 * The `reduction`-based clauses in the `task` and `target`-based directives.
 
@@ -37,7 +37,7 @@
 Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
 PPC64[LE] and has `basic support for Cuda devices`_.
 
-* #pragma omp declare simd: :partial:`Partial`.  We support parsing/semantic
+* #pragma omp declare simd: :part:`Partial`.  We support parsing/semantic
   analysis + generation of special attributes for X86 target, but still
   missing the LLVM pass for vectorization.
 
@@ -129,3 +129,132 @@
   In some cases the local variables are actually allocated in the global memory,
   but the debug info may be not aware of it.
 
+
+.. _OpenMP implementation details:
+
+OpenMP 5.0 Implementation Details
+-
+
+The following table provides a quick overview over various OpenMP 5.0 features
+and their implementation status. Please contact *openmp-dev* at
+*lists.llvm.org* for more information or if you want to help with the
+implementation.
+
++--+--+--++
+|Category  | Feature  | Status   | Reviews|
++==+==+==++
+| loop extension   | support != in the canonical loop form| :good:`done` | D54441 |
++--+--+--++
+| loop extension   | #pragma omp loop (directive) | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse imperfectly nested loop | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse non-rectangular nested loop | :part:`worked on`||
++--+--+--++
+| loop extension   | C++ range-base for loop  | :none:`unclaimed`||
++--+--+--++
+| loop extension   | clause: nosimd for SIMD directives   | :none:`unclaimed`||
++--+--+--++
+| loop extension   | inclusive scan extension (matching C++17 PSTL)   | :none:`unclaimed`||
++--+--+--++
+| memory mangagement   | memory allocators| :good:`done` | 

[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-08-14 Thread Ravi Narayanaswamy via Phabricator via cfe-commits
RaviNarayanaswamy added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:222-226
+| device extension | clause: reverse_offload   
   | :good:`done` | D52780  
   |
++--+--+--++
+| device extension | clause: atomic_default_mem_order  
   | :good:`done` | D53513  
   |
++--+--+--++
+| device extension | clause: dynamic_allocators
   | :good:`done` | D53079  
   |

ABataev wrote:
> Hahnfeld wrote:
> > Do we have CodeGen for this? I only remember Sema support...
> > 
> > Also, `reverse_offload` is listed again below as `unclaimed`.
> We don't have codegen for this. Same for the reverse_offload and 
> atomic_default_mem_order
As Alexey said codegen is not done so maybe change it to partial.
Regardng reverse_offload, it is debate able whether keep it unclaimed or make 
it partial.  Yes Sema is done but the hard part for  which nobody has claimed 
is codegen and libomptarget.  At least for the getting this initial document 
checked in we should keep it as unclaimed.  Do you have a strong objection 
against this.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-08-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:222-226
+| device extension | clause: reverse_offload   
   | :good:`done` | D52780  
   |
++--+--+--++
+| device extension | clause: atomic_default_mem_order  
   | :good:`done` | D53513  
   |
++--+--+--++
+| device extension | clause: dynamic_allocators
   | :good:`done` | D53079  
   |

Hahnfeld wrote:
> Do we have CodeGen for this? I only remember Sema support...
> 
> Also, `reverse_offload` is listed again below as `unclaimed`.
We don't have codegen for this. Same for the reverse_offload and 
atomic_default_mem_order


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-08-02 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:233
++--+--+--++
+| device extension | mapping lambda expression 
   | claimed  | D51107 |
++--+--+--++

ABataev wrote:
> kkwli0 wrote:
> > ABataev wrote:
> > > Done
> > Do we support the behavior in 318:7-14?
> Yes.
ping @jdoerfert 



Comment at: clang/docs/OpenMPSupport.rst:250
++--+--+--++
+| misc extension   | library shutdown (omp_pause_resource[_all])   
   | :part:`worked on`| 
   |
++--+--+--++

Hahnfeld wrote:
> I think this should say partial, it's present in `libomp` after D55078.
ping, I still think `partial` is more correct



Comment at: clang/docs/OpenMPSupport.rst:222-226
+| device extension | clause: reverse_offload   
   | :good:`done` | D52780  
   |
++--+--+--++
+| device extension | clause: atomic_default_mem_order  
   | :good:`done` | D53513  
   |
++--+--+--++
+| device extension | clause: dynamic_allocators
   | :good:`done` | D53079  
   |

Do we have CodeGen for this? I only remember Sema support...

Also, `reverse_offload` is listed again below as `unclaimed`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-08-01 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 212957.
jdoerfert added a comment.

Improve based on two comments by @Hahnfeld


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375

Files:
  clang/docs/OpenMPSupport.rst

Index: clang/docs/OpenMPSupport.rst
===
--- clang/docs/OpenMPSupport.rst
+++ clang/docs/OpenMPSupport.rst
@@ -2,12 +2,12 @@
 
   
 .none { background-color: #FF }
-.partial { background-color: #99 }
+.part { background-color: #99 }
 .good { background-color: #CCFF99 }
   
 
 .. role:: none
-.. role:: partial
+.. role:: part
 .. role:: good
 
 .. contents::
@@ -17,7 +17,7 @@
 OpenMP Support
 ==
 
-Clang supports the following OpenMP 5.0 features
+Clang supports the following OpenMP 5.0 features (see also `OpenMP implementation details`_):
 
 * The `reduction`-based clauses in the `task` and `target`-based directives.
 
@@ -37,7 +37,7 @@
 Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
 PPC64[LE] and has `basic support for Cuda devices`_.
 
-* #pragma omp declare simd: :partial:`Partial`.  We support parsing/semantic
+* #pragma omp declare simd: :part:`Partial`.  We support parsing/semantic
   analysis + generation of special attributes for X86 target, but still
   missing the LLVM pass for vectorization.
 
@@ -129,3 +129,134 @@
   In some cases the local variables are actually allocated in the global memory,
   but the debug info may be not aware of it.
 
+
+.. _OpenMP implementation details:
+
+OpenMP 5.0 Implementation Details
+-
+
+The following table provides a quick overview over various OpenMP 5.0 features
+and their implementation status. Please contact *openmp-dev* at
+*lists.llvm.org* for more information or if you want to help with the
+implementation.
+
++--+--+--++
+|Category  | Feature  | Status   | Reviews|
++==+==+==++
+| loop extension   | support != in the canonical loop form| :good:`done` | D54441 |
++--+--+--++
+| loop extension   | #pragma omp loop (directive) | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse imperfectly nested loop | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse non-rectangular nested loop | :part:`worked on`||
++--+--+--++
+| loop extension   | C++ range-base for loop  | :none:`unclaimed`||
++--+--+--++
+| loop extension   | clause: nosimd for SIMD directives   | :none:`unclaimed`||
++--+--+--++
+| loop extension   | inclusive scan extension (matching C++17 PSTL)   | :none:`unclaimed`||
++--+--+--++
+| memory mangagement   | memory allocators| :good:`done` | r341687,r357929|

[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-25 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment.

In D64375#1601163 , @jdoerfert wrote:

> I'll add @Hahnfeld comments, anything else? If not, can someone approve this 
> and we do separate reviews for improvements?


Update revision and I'll approve it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-25 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment.

I'll add @Hahnfeld comments, anything else? If not, can someone approve this 
and we do separate reviews for improvements?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-11 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:165
++--+--+--++
+| OMPD | OMPD interfaces   
   | mostly done  ||
++--+--+--++

jdoerfert wrote:
> Hahnfeld wrote:
> > This is not correct, at least it's not yet upstream.
> Is there anything upstreamed? What should I put for status and 
> revisions/reviews?
I don't think there's a review yet. @protze.joachim ?



Comment at: clang/docs/OpenMPSupport.rst:198
++--+--+--++
+| device extension | OMP_TARGET_FALLBACK env variable  
   | :part:`worked on`| D50522  
   |
++--+--+--++

kkwli0 wrote:
> Change OMP_TARGET_FALLBACK to OMP_TARGET_OFFLOAD which is in the spec.
This is done, see the linked revision.



Comment at: clang/docs/OpenMPSupport.rst:250
++--+--+--++
+| misc extension   | library shutdown (omp_pause_resource[_all])   
   | :part:`worked on`| 
   |
++--+--+--++

I think this should say partial, it's present in `libomp` after D55078.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-10 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 209089.
jdoerfert marked 4 inline comments as done.
jdoerfert added a comment.

Fixes according to comments


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375

Files:
  clang/docs/OpenMPSupport.rst

Index: clang/docs/OpenMPSupport.rst
===
--- clang/docs/OpenMPSupport.rst
+++ clang/docs/OpenMPSupport.rst
@@ -2,12 +2,12 @@
 
   
 .none { background-color: #FF }
-.partial { background-color: #99 }
+.part { background-color: #99 }
 .good { background-color: #CCFF99 }
   
 
 .. role:: none
-.. role:: partial
+.. role:: part
 .. role:: good
 
 .. contents::
@@ -17,7 +17,7 @@
 OpenMP Support
 ==
 
-Clang supports the following OpenMP 5.0 features
+Clang supports the following OpenMP 5.0 features (see also `OpenMP implementation details`_):
 
 * The `reduction`-based clauses in the `task` and `target`-based directives.
 
@@ -37,7 +37,7 @@
 Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
 PPC64[LE] and has `basic support for Cuda devices`_.
 
-* #pragma omp declare simd: :partial:`Partial`.  We support parsing/semantic
+* #pragma omp declare simd: :part:`Partial`.  We support parsing/semantic
   analysis + generation of special attributes for X86 target, but still
   missing the LLVM pass for vectorization.
 
@@ -129,3 +129,134 @@
   In some cases the local variables are actually allocated in the global memory,
   but the debug info may be not aware of it.
 
+
+.. _OpenMP implementation details:
+
+OpenMP 5.0 Implementation Details
+-
+
+The following table provides a quick overview over various OpenMP 5.0 features
+and their implementation status. Please contact *openmp-dev* at
+*lists.llvm.org* for more information or if you want to help with the
+implementation.
+
++--+--+--++
+|Category  | Feature  | Status   | Reviews|
++==+==+==++
+| loop extension   | support != in the canonical loop form| :good:`done` | D54441 |
++--+--+--++
+| loop extension   | #pragma omp loop (directive) | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse imperfectly nested loop | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse non-rectangular nested loop | :part:`worked on`||
++--+--+--++
+| loop extension   | C++ range-base for loop  | :none:`unclaimed`||
++--+--+--++
+| loop extension   | clause: nosimd for SIMD directives   | :none:`unclaimed`||
++--+--+--++
+| loop extension   | inclusive scan extension (matching C++17 PSTL)   | :none:`unclaimed`||
++--+--+--++
+| memory mangagement   | memory allocators| :good:`done` | r341687,r357929|

[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-10 Thread Kelvin Li via Phabricator via cfe-commits
kkwli0 added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:198
++--+--+--++
+| device extension | OMP_TARGET_FALLBACK env variable  
   | :part:`worked on`| D50522  
   |
++--+--+--++

Change OMP_TARGET_FALLBACK to OMP_TARGET_OFFLOAD which is in the spec.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-10 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:207
++--+--+--++
+| device extension | clause: in_reduction  
   | claimed  ||
++--+--+--++

jdoerfert wrote:
> ABataev wrote:
> > Done.
> I only found a 2017 patch which I added but is this completely done? The 
> category suggest this is device related but I did not find device related 
> code.
Ah, I missed that this is device extension. Then it is unclaimed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-10 Thread Kelvin Li via Phabricator via cfe-commits
kkwli0 added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:184
++--+--+--++
+| task extension   | parallell master taskloop 
   | :none:`unclaimed`| 
   |
++--+--+--++

parallell -> parallel



Comment at: clang/docs/OpenMPSupport.rst:188
++--+--+--++
+| task extension   | parallell master taskloop simd
   | :none:`unclaimed`| 
   |
++--+--+--++

parallell -> parallel


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-10 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:163
++--+--+--++
+| memory mangagement   | allocate directive and allocate clause
   | claimed  | r355614,r335952|
++--+--+--++

ABataev wrote:
> Done
Here and above, if there are more revisions, please feel free to add them.



Comment at: clang/docs/OpenMPSupport.rst:165
++--+--+--++
+| OMPD | OMPD interfaces   
   | mostly done  ||
++--+--+--++

Hahnfeld wrote:
> This is not correct, at least it's not yet upstream.
Is there anything upstreamed? What should I put for status and 
revisions/reviews?



Comment at: clang/docs/OpenMPSupport.rst:205
++--+--+--++
+| device extension | clause: device_type   
   | claimed  ||
++--+--+--++

ABataev wrote:
> kkwli0 wrote:
> > ABataev wrote:
> > > Can't find this in the standard.
> > Section 2.12.7
> Then it is unclaimed, I think.
The excel sheet did assign some of the claimed tasks to people/companies so I 
will keep them claimed for now and we should ask if they are actually being 
worked on or not.



Comment at: clang/docs/OpenMPSupport.rst:207
++--+--+--++
+| device extension | clause: in_reduction  
   | claimed  ||
++--+--+--++

ABataev wrote:
> Done.
I only found a 2017 patch which I added but is this completely done? The 
category suggest this is device related but I did not find device related code.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-10 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 209073.
jdoerfert marked 29 inline comments as done.
jdoerfert added a comment.

Add colors, updates according to comments


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375

Files:
  clang/docs/OpenMPSupport.rst

Index: clang/docs/OpenMPSupport.rst
===
--- clang/docs/OpenMPSupport.rst
+++ clang/docs/OpenMPSupport.rst
@@ -2,12 +2,12 @@
 
   
 .none { background-color: #FF }
-.partial { background-color: #99 }
+.part { background-color: #99 }
 .good { background-color: #CCFF99 }
   
 
 .. role:: none
-.. role:: partial
+.. role:: part
 .. role:: good
 
 .. contents::
@@ -17,7 +17,7 @@
 OpenMP Support
 ==
 
-Clang supports the following OpenMP 5.0 features
+Clang supports the following OpenMP 5.0 features (see also `OpenMP implementation details`_):
 
 * The `reduction`-based clauses in the `task` and `target`-based directives.
 
@@ -37,7 +37,7 @@
 Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
 PPC64[LE] and has `basic support for Cuda devices`_.
 
-* #pragma omp declare simd: :partial:`Partial`.  We support parsing/semantic
+* #pragma omp declare simd: :part:`Partial`.  We support parsing/semantic
   analysis + generation of special attributes for X86 target, but still
   missing the LLVM pass for vectorization.
 
@@ -129,3 +129,134 @@
   In some cases the local variables are actually allocated in the global memory,
   but the debug info may be not aware of it.
 
+
+.. _OpenMP implementation details:
+
+OpenMP 5.0 Implementation Details
+-
+
+The following table provides a quick overview over various OpenMP 5.0 features
+and their implementation status. Please contact *openmp-dev* at
+*lists.llvm.org* for more information or if you want to help with the
+implementation.
+
++--+--+--++
+|Category  | Feature  | Status   | Reviews|
++==+==+==++
+| loop extension   | support != in the canonical loop form| :good:`done` | D54441 |
++--+--+--++
+| loop extension   | #pragma omp loop (directive) | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse imperfectly nested loop | :none:`unclaimed`||
++--+--+--++
+| loop extension   | collapse non-rectangular nested loop | :part:`worked on`||
++--+--+--++
+| loop extension   | C++ range-base for loop  | :none:`unclaimed`||
++--+--+--++
+| loop extension   | clause: nosimd for SIMD directives   | :none:`unclaimed`||
++--+--+--++
+| loop extension   | inclusive scan extension (matching C++17 PSTL)   | :none:`unclaimed`||
++--+--+--++
+| memory mangagement   | memory allocators| :good:`done` | r341687,r357929|

[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-09 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment.

In D64375#1577153 , @jdoerfert wrote:

> @lebedev.ri I'd like to see if we can transition this one into a more generic 
> one with version numbers etc. Is that OK?


I have no further comment at the moment.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-09 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment.

I will update the table (hopefully tomorrow) and we can then see if we commit 
it and change it in-place or if we have more initial feedback.

Thanks everyone for providing all this information!

@lebedev.ri I'd like to see if we can transition this one into a more generic 
one with version numbers etc. Is that OK?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-09 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:205
++--+--+--++
+| device extension | clause: device_type   
   | claimed  ||
++--+--+--++

kkwli0 wrote:
> ABataev wrote:
> > Can't find this in the standard.
> Section 2.12.7
Then it is unclaimed, I think.



Comment at: clang/docs/OpenMPSupport.rst:233
++--+--+--++
+| device extension | mapping lambda expression 
   | claimed  | D51107 |
++--+--+--++

kkwli0 wrote:
> ABataev wrote:
> > Done
> Do we support the behavior in 318:7-14?
Yes.



Comment at: clang/docs/OpenMPSupport.rst:237
++--+--+--++
+| device extension | map(replicate) or map(local) when requires 
unified_shared_me | done | D55719,D55892  |
++--+--+--++

kkwli0 wrote:
> ABataev wrote:
> > Not sure 100%, but seems to me it is not done.
> I think we still need the codegen patch and I am not sure about the runtime 
> part.
I don't think it works with unified memory since we don't fully support unified 
memory.



Comment at: clang/docs/OpenMPSupport.rst:243
++--+--+--++
+| atomic extension | hints for the atomic construct
   | done | D51233 |
++--+--+--++

kkwli0 wrote:
> ABataev wrote:
> > This is just the runtime part, the compiler does not support this
> Since it is a hint according to the specification, I guess it is up to us 
> whether we want to declare this feature done or not.  If we do that, we 
> should mention it in the limitation section.
Still, compiler does not use this. WE can mark this as partial, but definitely 
not done. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-09 Thread Kelvin Li via Phabricator via cfe-commits
kkwli0 added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:205
++--+--+--++
+| device extension | clause: device_type   
   | claimed  ||
++--+--+--++

ABataev wrote:
> Can't find this in the standard.
Section 2.12.7



Comment at: clang/docs/OpenMPSupport.rst:233
++--+--+--++
+| device extension | mapping lambda expression 
   | claimed  | D51107 |
++--+--+--++

ABataev wrote:
> Done
Do we support the behavior in 318:7-14?



Comment at: clang/docs/OpenMPSupport.rst:237
++--+--+--++
+| device extension | map(replicate) or map(local) when requires 
unified_shared_me | done | D55719,D55892  |
++--+--+--++

ABataev wrote:
> Not sure 100%, but seems to me it is not done.
I think we still need the codegen patch and I am not sure about the runtime 
part.



Comment at: clang/docs/OpenMPSupport.rst:243
++--+--+--++
+| atomic extension | hints for the atomic construct
   | done | D51233 |
++--+--+--++

ABataev wrote:
> This is just the runtime part, the compiler does not support this
Since it is a hint according to the specification, I guess it is up to us 
whether we want to declare this feature done or not.  If we do that, we should 
mention it in the limitation section.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-09 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:161
++--+--+--++
+| memory mangagement   | memory allocators 
   | claimed  ||
++--+--+--++

Done



Comment at: clang/docs/OpenMPSupport.rst:163
++--+--+--++
+| memory mangagement   | allocate directive and allocate clause
   | claimed  | r355614,r335952|
++--+--+--++

Done



Comment at: clang/docs/OpenMPSupport.rst:175-177
+| task extension   | clause: depend on the taskwait construct  
   | claimed  ||
++--+--+--++
+| task extension   | depend objects and detachable tasks   
   | claimed  ||

I don't remember anything related to these items. Seems to me, they are 
unclaimed



Comment at: clang/docs/OpenMPSupport.rst:201
++--+--+--++
+| device extension | support full 'defaultmap' functionality   
   | claimed  ||
++--+--+--++

Seems to me it is unclaimed



Comment at: clang/docs/OpenMPSupport.rst:205
++--+--+--++
+| device extension | clause: device_type   
   | claimed  ||
++--+--+--++

Can't find this in the standard.



Comment at: clang/docs/OpenMPSupport.rst:207
++--+--+--++
+| device extension | clause: in_reduction  
   | claimed  ||
++--+--+--++

Done.



Comment at: clang/docs/OpenMPSupport.rst:213
++--+--+--++
+| device extension | nested target declare 
   | claimed  | D51378 |
++--+--+--++

Done



Comment at: clang/docs/OpenMPSupport.rst:215
++--+--+--++
+| device extension | implicitly map 'this' (this[:1])  
   | claimed  | D55982 |
++--+--+--++

Done



Comment at: clang/docs/OpenMPSupport.rst:233
++--+--+--++
+| device extension | mapping lambda expression 
   | claimed  | D51107 

[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-09 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld added a subscriber: protze.joachim.
Hahnfeld added inline comments.



Comment at: clang/docs/OpenMPSupport.rst:165
++--+--+--++
+| OMPD | OMPD interfaces   
   | mostly done  ||
++--+--+--++

This is not correct, at least it's not yet upstream.



Comment at: clang/docs/OpenMPSupport.rst:173
++--+--+--++
+| task extension   | task affinity 
   | done ||
++--+--+--++

This is wrong as well, at least not upstream (we have multiple versions in 
local repositories).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-09 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment.

Nice, thank you for working on this!

It would be also good to have a not OpenMP-5 specific, but an overview table - 
which OpenMP thingy was supported starting
with which Clang version, very much like https://clang.llvm.org/cxx_status.html 
/ https://libcxx.llvm.org/cxx1z_status.html,
i needed that a few times.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment.

In D64375#1574698 , @jdoerfert wrote:

> In D64375#1574662 , @ABataev wrote:
>
> > The scheme itself looks good in general.
>
>
> Good. Once we agreed on a scheme we can improve the actual process, excel 
> sheet, generator script, etc. (see also below).
>
> > Just as an improvement, it would be good to use coloring for the feature 
> > status.
>
> I'll try to add coloring.
>
> > Also, what's the difference between claimed, mostly done and done?
>
> Disclaimer: I used a script to determine what the columns in the excel 
> document mean. There is a good chance I got some wrong and it only reflects 
> the information in the document.
>
> I basically used the following logic in this order:
>
> 1. If all non-empty columns contain the word "done", mark it as "done".
> 2. If all non-empty columns contain "mostly complete", mark it as "mostly 
> done".
> 3. If there are non-empty columns, mark it as "claimed", e.g., someone is 
> working on it.
> 4. If there are only empty columns, mark it as "unclaimed", e.g., not being 
> worked on right now.
>
>   I think when we go through the excel document now with this use case in 
> mind and fill the empty columns appropriately, some errors will dissapear.


Ok, I see. I will provide more correct feature status tomorrow, if you want. 
Currently it is not quite correct/full.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done.
jdoerfert added a comment.

In D64375#1574662 , @ABataev wrote:

> The scheme itself looks good in general.


Good. Once we agreed on a scheme we can improve the actual process, excel 
sheet, generator script, etc. (see also below).

> Just as an improvement, it would be good to use coloring for the feature 
> status.

I'll try to add coloring.

> Also, what's the difference between claimed, mostly done and done?

Disclaimer: I used a script to determine what the columns in the excel document 
mean. There is a good chance I got some wrong and it only reflects the 
information in the document.

I basically used the following logic in this order:

1. If all non-empty columns contain the word "done", mark it as "done".
2. If all non-empty columns contain "mostly complete", mark it as "mostly done".
3. If there are non-empty columns, mark it as "claimed", e.g., someone is 
working on it.
4. If there are only empty columns, mark it as "unclaimed", e.g., not being 
worked on right now.

I think when we go through the excel document now with this use case in mind 
and fill the empty columns appropriately, some errors will dissapear.




Comment at: clang/docs/OpenMPSupport.rst:153
++--+--+--++
+| loop extension   | collapse non-rectangular nested loop  
   | unclaimed||
++--+--+--++

ABataev wrote:
> I'm working on this feature, but don't know when it's going to be ready.
That will then be noted in the excel sheet (see general comment).



Comment at: clang/docs/OpenMPSupport.rst:219
++--+--+--++
+| device extension | Fortran pointer mapping   
   | unclaimed||
++--+--+--++

ABataev wrote:
> Do we really need Fortran stuff here?
No, I already filtered by hand, my mistake. Will automate it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment.

The scheme itself looks good in general. Just as an improvement, it would be 
good to use coloring for the feature status.
Also, what's the difference between claimed, mostly done and done?




Comment at: clang/docs/OpenMPSupport.rst:153
++--+--+--++
+| loop extension   | collapse non-rectangular nested loop  
   | unclaimed||
++--+--+--++

I'm working on this feature, but don't know when it's going to be ready.



Comment at: clang/docs/OpenMPSupport.rst:219
++--+--+--++
+| device extension | Fortran pointer mapping   
   | unclaimed||
++--+--+--++

Do we really need Fortran stuff here?



Comment at: clang/docs/OpenMPSupport.rst:237
++--+--+--++
+| device extension | map(replicate) or map(local) when requires 
unified_shared_me | done | D55719,D55892  |
++--+--+--++

Not sure 100%, but seems to me it is not done.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64375/new/

https://reviews.llvm.org/D64375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D64375: [OpenMP][Docs] Provide implementation status details

2019-07-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision.
jdoerfert added reviewers: kkwli0, ABataev, RaviNarayanaswamy, gtbercea, 
Hahnfeld.
Herald added subscribers: jfb, guansong, bollu.
Herald added a project: clang.

This adds a more fine-grained list of OpenMP features with their
implementation status and associated reviews/commits.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D64375

Files:
  clang/docs/OpenMPSupport.rst

Index: clang/docs/OpenMPSupport.rst
===
--- clang/docs/OpenMPSupport.rst
+++ clang/docs/OpenMPSupport.rst
@@ -17,7 +17,7 @@
 OpenMP Support
 ==
 
-Clang supports the following OpenMP 5.0 features
+Clang supports the following OpenMP 5.0 features (see also `OpenMP implementation details`_):
 
 * The `reduction`-based clauses in the `task` and `target`-based directives.
 
@@ -44,6 +44,7 @@
 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.
 
+
 General improvements
 
 - New collapse clause scheme to avoid expensive remainder operations.
@@ -129,3 +130,136 @@
   In some cases the local variables are actually allocated in the global memory,
   but the debug info may be not aware of it.
 
+
+.. _OpenMP implementation details:
+
+OpenMP 5.0 Implementation Details
+-
+
+The following table provides a quick overview over various OpenMP 5.0 features
+and their implementation status. Please contact *openmp-dev* at
+*lists.llvm.org* for more information or if you want to help with the
+implementation.
+
++--+--+--++
+|Category  | Feature  | Status   | Reviews|
++==+==+==++
+| loop extension   | support != in the canonical loop form| done | D54441 |
++--+--+--++
+| loop extension   | #pragma omp loop (directive) | unclaimed||
++--+--+--++
+| loop extension   | collapse imperfectly nested loop | unclaimed||
++--+--+--++
+| loop extension   | collapse non-rectangular nested loop | unclaimed||
++--+--+--++
+| loop extension   | C++ range-base for loop  | unclaimed||
++--+--+--++
+| loop extension   | clause: nosimd for SIMD directives   | unclaimed||
++--+--+--++
+| loop extension   | inclusive scan extension (matching C++17 PSTL)   | unclaimed||
++--+--+--++
+| memory mangagement   | memory allocators| claimed  ||
++--+--+--++
+| memory mangagement   | allocate directive and allocate clause   | claimed  | r355614,r335952|
++--+--+--++
+| OMPD