<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/OpenMP/generic_loop_codegen.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>[clang][OpenMP] Move "loop" directive mapping from sema to codegen (#99905)</title>
<updated>2024-07-23T12:31:42+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2024-07-23T12:31:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c74730070a0261d582e01ee7e5eef2e7c39fb11f'/>
<id>c74730070a0261d582e01ee7e5eef2e7c39fb11f</id>
<content type='text'>
Given "loop" construct, clang will try to treat it as "for",
"distribute" or "simd", depending on either the implied binding, or the
bind clause if present. This patch moves the code that performs this
construct remapping from sema to codegen.

For a "loop" construct without a bind clause, this patch will create an
implicit bind clause based on implied binding to simplify further
analysis.

During codegen the function `EmitOMPGenericLoopDirective` (i.e. "loop")
will invoke the "emit" functions for "for", "distribute" or "simd",
depending on the bind clause.

---------

Co-authored-by: Alexey Bataev &lt;a.bataev@gmx.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given "loop" construct, clang will try to treat it as "for",
"distribute" or "simd", depending on either the implied binding, or the
bind clause if present. This patch moves the code that performs this
construct remapping from sema to codegen.

For a "loop" construct without a bind clause, this patch will create an
implicit bind clause based on implied binding to simplify further
analysis.

During codegen the function `EmitOMPGenericLoopDirective` (i.e. "loop")
will invoke the "emit" functions for "for", "distribute" or "simd",
depending on the bind clause.

---------

Co-authored-by: Alexey Bataev &lt;a.bataev@gmx.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP][NFC] Update clang OpenMP tests</title>
<updated>2023-08-23T17:40:31+00:00</updated>
<author>
<name>Johannes Doerfert</name>
<email>johannes@jdoerfert.de</email>
</author>
<published>2023-08-20T23:35:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5a64ae75b5a05bdfc7ccb12d0b0958478b5d865b'/>
<id>5a64ae75b5a05bdfc7ccb12d0b0958478b5d865b</id>
<content type='text'>
Just re-running the script to make future updates easier
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just re-running the script to make future updates easier
</pre>
</div>
</content>
</entry>
<entry>
<title>[Clang][OpenMP] Support for Code Generation of loop bind clause</title>
<updated>2023-08-09T19:26:38+00:00</updated>
<author>
<name>Chi Chun Chen</name>
<email>chichun.chen@hpe.com</email>
</author>
<published>2023-08-09T19:26:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8ab62da18d47fa0ce6aef9da50cca34a26ea775c'/>
<id>8ab62da18d47fa0ce6aef9da50cca34a26ea775c</id>
<content type='text'>
Support for Code Generation of "#pragma loop bind" clause.
1) bind(parallel)
2) bind(teams)
3) bind(thread)

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D144634
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support for Code Generation of "#pragma loop bind" clause.
1) bind(parallel)
2) bind(teams)
3) bind(thread)

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D144634
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[Clang][OpenMP] Support for Code Generation of loop bind clause."</title>
<updated>2023-08-08T17:12:25+00:00</updated>
<author>
<name>Nico Weber</name>
<email>thakis@chromium.org</email>
</author>
<published>2023-08-08T17:11:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5f8d332027c8a9ea657752a3b33696ddc9a7e257'/>
<id>5f8d332027c8a9ea657752a3b33696ddc9a7e257</id>
<content type='text'>
This reverts commit 8e7f0320ad7fb760fff598aba4b2c86528c58c2d.
As requested on https://reviews.llvm.org/rG8e7f0320ad7fb760f#1236457
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 8e7f0320ad7fb760fff598aba4b2c86528c58c2d.
As requested on https://reviews.llvm.org/rG8e7f0320ad7fb760f#1236457
</pre>
</div>
</content>
</entry>
<entry>
<title>[Clang][OpenMP] Support for Code Generation of loop bind clause.</title>
<updated>2023-08-08T14:23:00+00:00</updated>
<author>
<name>Sunil Kuravinakop</name>
<email>koops@hpe.com</email>
</author>
<published>2023-08-08T14:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8e7f0320ad7fb760fff598aba4b2c86528c58c2d'/>
<id>8e7f0320ad7fb760fff598aba4b2c86528c58c2d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[Clang][OpenMP] Support for Code Generation of loop bind clause"</title>
<updated>2023-08-07T16:01:54+00:00</updated>
<author>
<name>Nico Weber</name>
<email>thakis@chromium.org</email>
</author>
<published>2023-08-07T16:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fab49721b4ef0b5079194bc09528df78f38c32a8'/>
<id>fab49721b4ef0b5079194bc09528df78f38c32a8</id>
<content type='text'>
This reverts commit 4097a24584121dba562d471fab97d3dfec1b5bff.
Breaks tests on macOS, see https://reviews.llvm.org/rG4097a2458412#1235854
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 4097a24584121dba562d471fab97d3dfec1b5bff.
Breaks tests on macOS, see https://reviews.llvm.org/rG4097a2458412#1235854
</pre>
</div>
</content>
</entry>
<entry>
<title>[Clang][OpenMP] Support for Code Generation of loop bind clause</title>
<updated>2023-08-07T12:58:59+00:00</updated>
<author>
<name>Sunil Kuravinakop</name>
<email>koops@hpe.com</email>
</author>
<published>2023-08-07T12:55:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4097a24584121dba562d471fab97d3dfec1b5bff'/>
<id>4097a24584121dba562d471fab97d3dfec1b5bff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP][CodeGen] Add codegen for combined 'loop' directives.</title>
<updated>2023-07-05T17:31:59+00:00</updated>
<author>
<name>Dave Pagan</name>
<email>dave.pagan@amd.com</email>
</author>
<published>2023-07-02T00:10:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=eb61bde829bcd33346bc70c87fcfe321627bbc31'/>
<id>eb61bde829bcd33346bc70c87fcfe321627bbc31</id>
<content type='text'>
The loop directive is a descriptive construct which allows the compiler
flexibility in how it generates code for the directive's associated
loop(s). See OpenMP specification 5.2 [257:8-9].

Codegen added in this patch for the combined 'loop' directives are:

'target teams loop'     -&gt; 'target teams distribute parallel for'
'teams loop'            -&gt; 'teams distribute parallel for'
'target parallel loop'  -&gt; 'target parallel for'
'parallel loop'         -&gt; 'parallel for'

NOTE: The implementation of the 'loop' directive itself is unchanged.

Differential Revision: https://reviews.llvm.org/D145823
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The loop directive is a descriptive construct which allows the compiler
flexibility in how it generates code for the directive's associated
loop(s). See OpenMP specification 5.2 [257:8-9].

Codegen added in this patch for the combined 'loop' directives are:

'target teams loop'     -&gt; 'target teams distribute parallel for'
'teams loop'            -&gt; 'teams distribute parallel for'
'target parallel loop'  -&gt; 'target parallel for'
'parallel loop'         -&gt; 'parallel for'

NOTE: The implementation of the 'loop' directive itself is unchanged.

Differential Revision: https://reviews.llvm.org/D145823
</pre>
</div>
</content>
</entry>
</feed>
