<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/OpenMP/taskloop_simd_in_reduction_messages.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[OpenMP][Reduction] Allow PLUS (+) operator on reduction clauses in OMP &gt; 52</title>
<updated>2023-07-20T21:25:13+00:00</updated>
<author>
<name>Fazlay Rabbi</name>
<email>fazlay.rabbi@intel.com</email>
</author>
<published>2023-07-18T19:51:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=52807ba3836ef30c54622f227c4a23e2eb9375cd'/>
<id>52807ba3836ef30c54622f227c4a23e2eb9375cd</id>
<content type='text'>
Currently, clang gives an incorrect reduction identifier error for the PLUS
operator for OpenMP version &gt; 52. But, PLUS operator is allowed in OpenMP
version &gt; 52. This revision fixes this issue and also modified the error
messages to show the correct expected operators in the message based on the OpenMP
version used (prior to OMP 6.0 and since OMP 6.0).

Test Src:
void foo() {
  int a = 0 ;
  #pragma omp parallel reduction(+:a)
    ;
  #pragma omp parallel reduction(-:a)
    ;
}

Before this revision:

$ clang -fopenmp -fopenmp-version=60 test.c -c
test.c:3:34: error: incorrect reduction identifier, expected one of '+', '-', '*', '&amp;', '|', '^', '&amp;&amp;', '||', 'min' or 'max' or declare reduction for type 'int'
    3 |   #pragma omp parallel reduction(+:a)
      |                                  ^
test.c:5:34: error: incorrect reduction identifier, expected one of '+', '-', '*', '&amp;', '|', '^', '&amp;&amp;', '||', 'min' or 'max' or declare reduction for type 'int'
    5 |   #pragma omp parallel reduction(-:a)
      |                                  ^
2 errors generated.

Wit this revision:

$  clang -fopenmp -fopenmp-version=60 test.c -c
test.c:5:34: error: incorrect reduction identifier, expected one of '+', '*', '&amp;', '|', '^', '&amp;&amp;', '||', 'min' or 'max' or declare reduction for type 'int'
    5 |   #pragma omp parallel reduction(-:a)
      |
1 error generated.

Differential Revision: https://reviews.llvm.org/D155635
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, clang gives an incorrect reduction identifier error for the PLUS
operator for OpenMP version &gt; 52. But, PLUS operator is allowed in OpenMP
version &gt; 52. This revision fixes this issue and also modified the error
messages to show the correct expected operators in the message based on the OpenMP
version used (prior to OMP 6.0 and since OMP 6.0).

Test Src:
void foo() {
  int a = 0 ;
  #pragma omp parallel reduction(+:a)
    ;
  #pragma omp parallel reduction(-:a)
    ;
}

Before this revision:

$ clang -fopenmp -fopenmp-version=60 test.c -c
test.c:3:34: error: incorrect reduction identifier, expected one of '+', '-', '*', '&amp;', '|', '^', '&amp;&amp;', '||', 'min' or 'max' or declare reduction for type 'int'
    3 |   #pragma omp parallel reduction(+:a)
      |                                  ^
test.c:5:34: error: incorrect reduction identifier, expected one of '+', '-', '*', '&amp;', '|', '^', '&amp;&amp;', '||', 'min' or 'max' or declare reduction for type 'int'
    5 |   #pragma omp parallel reduction(-:a)
      |                                  ^
2 errors generated.

Wit this revision:

$  clang -fopenmp -fopenmp-version=60 test.c -c
test.c:5:34: error: incorrect reduction identifier, expected one of '+', '*', '&amp;', '|', '^', '&amp;&amp;', '||', 'min' or 'max' or declare reduction for type 'int'
    5 |   #pragma omp parallel reduction(-:a)
      |
1 error generated.

Differential Revision: https://reviews.llvm.org/D155635
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP 5.2] Deprecate MINUS(-) operator on 'reduction' clause</title>
<updated>2023-05-18T21:02:14+00:00</updated>
<author>
<name>Fazlay Rabbi</name>
<email>fazlay.rabbi@intel.com</email>
</author>
<published>2023-05-11T18:18:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c657363cede78ccb9d42bc137a0ed50c69aa47dc'/>
<id>c657363cede78ccb9d42bc137a0ed50c69aa47dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Use compound operators for reduction combiner if available.</title>
<updated>2021-05-11T18:39:12+00:00</updated>
<author>
<name>Mike Rice</name>
<email>michael.p.rice@intel.com</email>
</author>
<published>2021-03-20T00:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f90abac6caab3b44e6a000de8cb72d204e74eb76'/>
<id>f90abac6caab3b44e6a000de8cb72d204e74eb76</id>
<content type='text'>
The OpenMP spec seems to require the compound operators be used for
+, *, &amp;, |, and ^ reduction.  So use these if a class has those operators.
If not try the simple operators as we did previously to limit the impact
to existing code.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=48584

Differential Revision: https://reviews.llvm.org/D101941
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The OpenMP spec seems to require the compound operators be used for
+, *, &amp;, |, and ^ reduction.  So use these if a class has those operators.
If not try the simple operators as we did previously to limit the impact
to existing code.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=48584

Differential Revision: https://reviews.llvm.org/D101941
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP]Consider 'omp_null_allocator' as a predefined allocator.</title>
<updated>2020-05-07T14:11:06+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2020-04-30T17:32:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8026394d3cc77db6f8172eeaa83b9747979c8642'/>
<id>8026394d3cc77db6f8172eeaa83b9747979c8642</id>
<content type='text'>
Summary:
omp.h header file defines omp_null_allocator as a predefined allocator,
need to consider it also as a predefined allocator.

Reviewers: jdoerfert

Subscribers: jholewinski, yaxunl, guansong, cfe-commits, caomhin

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79186
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
omp.h header file defines omp_null_allocator as a predefined allocator,
need to consider it also as a predefined allocator.

Reviewers: jdoerfert

Subscribers: jholewinski, yaxunl, guansong, cfe-commits, caomhin

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79186
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP50]Fix PR45117: Orphaned task reduction should be allowed.</title>
<updated>2020-03-27T21:47:30+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2020-03-27T15:15:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0fca766458da04bbc6d33b3f9ecd57e615c556c1'/>
<id>0fca766458da04bbc6d33b3f9ecd57e615c556c1</id>
<content type='text'>
Add support for orpahned task reductions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for orpahned task reductions.
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP]Add -Wunintialized to the erroneous tests for future fix PR42392,</title>
<updated>2019-07-08T15:45:24+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2019-07-08T15:45:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a914888b49590a38f4571434ddf951c687889e56'/>
<id>a914888b49590a38f4571434ddf951c687889e56</id>
<content type='text'>
NFC.

llvm-svn: 365334
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
NFC.

llvm-svn: 365334
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP]Add check for undefined behavior with thread allocators on</title>
<updated>2019-03-28T19:15:36+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2019-03-28T19:15:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=471171c4c94ced4b0421049d6949c13bdce256f7'/>
<id>471171c4c94ced4b0421049d6949c13bdce256f7</id>
<content type='text'>
target and task-based directives.

According to OpenMP 5.0, 2.11.4 allocate Clause, Restrictions, For task,
taskloop or target directives, allocation requests to memory allocators
with the trait access set to thread result in unspecified behavior.
Patch introduces a check for omp_thread_mem_alloc predefined allocator
on target- and trask-based directives.

llvm-svn: 357205
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
target and task-based directives.

According to OpenMP 5.0, 2.11.4 allocate Clause, Restrictions, For task,
taskloop or target directives, allocation requests to memory allocators
with the trait access set to thread result in unspecified behavior.
Patch introduces a check for omp_thread_mem_alloc predefined allocator
on target- and trask-based directives.

llvm-svn: 357205
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP]Initial support for 'allocate' clause.</title>
<updated>2019-03-27T14:14:31+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2019-03-27T14:14:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e04483ee35ba28c089cbbcec97a96b67ce0a035e'/>
<id>e04483ee35ba28c089cbbcec97a96b67ce0a035e</id>
<content type='text'>
Added parsing/sema analysis of the allocate clause.

llvm-svn: 357068
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added parsing/sema analysis of the allocate clause.

llvm-svn: 357068
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Refactor const restriction for reductions</title>
<updated>2019-01-04T22:11:56+00:00</updated>
<author>
<name>Joel E. Denny</name>
<email>jdenny.ornl@gmail.com</email>
</author>
<published>2019-01-04T22:11:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d2649292ef268cbc4b80854659a716791ad2c0b9'/>
<id>d2649292ef268cbc4b80854659a716791ad2c0b9</id>
<content type='text'>
As discussed in D56113, this patch refactors the implementation of the
const restriction for reductions to reuse a function introduced by
D56113.  A side effect is that diagnostics sometimes now say
"variable" instead of "list item" when a list item is a variable.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D56298

llvm-svn: 350440
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As discussed in D56113, this patch refactors the implementation of the
const restriction for reductions to reuse a function introduced by
D56113.  A side effect is that diagnostics sometimes now say
"variable" instead of "list item" when a list item is a variable.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D56298

llvm-svn: 350440
</pre>
</div>
</content>
</entry>
<entry>
<title>[OPENMP] Support for -fopenmp-simd option with compilation of simd loops</title>
<updated>2017-12-29T18:07:07+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@hotmail.com</email>
</author>
<published>2017-12-29T18:07:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a8a9153a372afcfe2d18399b079bfdc5fd4da626'/>
<id>a8a9153a372afcfe2d18399b079bfdc5fd4da626</id>
<content type='text'>
only.

Added support for -fopenmp-simd option that allows compilation of
simd-based constructs without emission of OpenMP runtime calls.

llvm-svn: 321560
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
only.

Added support for -fopenmp-simd option that allows compilation of
simd-based constructs without emission of OpenMP runtime calls.

llvm-svn: 321560
</pre>
</div>
</content>
</entry>
</feed>
