<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Frontend/OpenMP/OMP.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] Introduce "loop sequence" as directive association (#168934)</title>
<updated>2025-11-21T13:40:44+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-11-21T13:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d69320e775a7c4af8f6e6bb6bd0574ead8e3d69c'/>
<id>d69320e775a7c4af8f6e6bb6bd0574ead8e3d69c</id>
<content type='text'>
OpenMP 6.0 introduced a `fuse` directive, and with it a "loop sequence"
as the associated code. What used to be "loop association" has become
"loop-nest association".

Rename Association::Loop to LoopNest, add Association::LoopSeq to
represent the "loop sequence" association.

Change the association of fuse from "block" to "loop sequence".</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenMP 6.0 introduced a `fuse` directive, and with it a "loop sequence"
as the associated code. What used to be "loop association" has become
"loop-nest association".

Rename Association::Loop to LoopNest, add Association::LoopSeq to
represent the "loop sequence" association.

Change the association of fuse from "block" to "loop sequence".</pre>
</div>
</content>
</entry>
<entry>
<title>[Frontend][OpenMP] Move isPrivatizingConstruct from flang (#155477)</title>
<updated>2025-08-27T13:21:58+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-27T13:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bd54233170fde38b528a6477d9674e94196502fa'/>
<id>bd54233170fde38b528a6477d9674e94196502fa</id>
<content type='text'>
The check of whether a construct can privatize is a general utility, not
dependent on language-specific definitions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The check of whether a construct can privatize is a general utility, not
dependent on language-specific definitions.</pre>
</div>
</content>
</entry>
<entry>
<title>[Frontend][OpenMP] Add 6.1 as a valid OpenMP version (#153628)</title>
<updated>2025-08-18T14:13:27+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-18T14:13:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ae75884130ceb31c6a0f8520e906ebbfd6636124'/>
<id>ae75884130ceb31c6a0f8520e906ebbfd6636124</id>
<content type='text'>
Co-authored-by: Michael Klemm &lt;michael.klemm@amd.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Michael Klemm &lt;michael.klemm@amd.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][OpenMP] Add older versions to llvm::omp::getOpenMPVersions (#138967)</title>
<updated>2025-05-08T12:23:01+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-05-08T12:23:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5b290588b52c3adbe9bde7d22ed5ae13d299f88e'/>
<id>5b290588b52c3adbe9bde7d22ed5ae13d299f88e</id>
<content type='text'>
Add 3.1 and 4.0 as versions. This will make flang's default OpenMP
version (3.1) be included in the list.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add 3.1 and 4.0 as versions. This will make flang's default OpenMP
version (3.1) be included in the list.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Change clause modifier representation in parser (#116656)</title>
<updated>2024-11-20T16:38:06+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2024-11-20T16:38:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fb4ecada815ceee37536a26b4ff5ce231226b23e'/>
<id>fb4ecada815ceee37536a26b4ff5ce231226b23e</id>
<content type='text'>
The main issue to solve is that OpenMP modifiers can be specified in any
order, so the parser cannot expect any specific modifier at a given
position. To solve that, define modifier to be a union of all allowable
specific modifiers for a given clause.

Additionally, implement modifier descriptors: for each modifier the
corresponding descriptor contains a set of properties of the modifier
that allow a common set of semantic checks. Start with the syntactic
properties defined in the spec: Required, Unique, Exclusive, Ultimate,
and implement common checks to verify each of them.

OpenMP modifier overhaul: #2/3</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The main issue to solve is that OpenMP modifiers can be specified in any
order, so the parser cannot expect any specific modifier at a given
position. To solve that, define modifier to be a union of all allowable
specific modifiers for a given clause.

Additionally, implement modifier descriptors: for each modifier the
corresponding descriptor contains a set of properties of the modifier
that allow a common set of semantic checks. Start with the syntactic
properties defined in the spec: Required, Unique, Exclusive, Ultimate,
and implement common checks to verify each of them.

OpenMP modifier overhaul: #2/3</pre>
</div>
</content>
</entry>
<entry>
<title>[Frontend] Remove unused includes (NFC) (#116927)</title>
<updated>2024-11-20T14:52:17+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-11-20T14:52:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=36ada1b9b26eeff34a9427214672cf1540c01667'/>
<id>36ada1b9b26eeff34a9427214672cf1540c01667</id>
<content type='text'>
Identified with misc-include-cleaner.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with misc-include-cleaner.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM] Use {} instead of std::nullopt to initialize empty ArrayRef (#109133)</title>
<updated>2024-09-19T15:16:38+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2024-09-19T15:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e03f427196ec67a8a5cfbdd658f9eabe9bce83ce'/>
<id>e03f427196ec67a8a5cfbdd658f9eabe9bce83ce</id>
<content type='text'>
It is almost always simpler to use {} instead of std::nullopt to
initialize an empty ArrayRef. This patch changes all occurrences I could
find in LLVM itself. In future the ArrayRef(std::nullopt_t) constructor
could be deprecated or removed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is almost always simpler to use {} instead of std::nullopt to
initialize an empty ArrayRef. This patch changes all occurrences I could
find in LLVM itself. In future the ArrayRef(std::nullopt_t) constructor
could be deprecated or removed.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload][OpenMP] Prettify error messages by "demangling" the kernel name (#101400)</title>
<updated>2024-08-01T22:24:15+00:00</updated>
<author>
<name>Johannes Doerfert</name>
<email>johannes@jdoerfert.de</email>
</author>
<published>2024-08-01T22:24:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f3bfc56327df821801caa4ae20995f67f8589a19'/>
<id>f3bfc56327df821801caa4ae20995f67f8589a19</id>
<content type='text'>
The kernel names for OpenMP are manually mangled and not ideal when we
report something to the user. We demangle them now, providing the
function and line number of the target region, together with the actual
kernel name.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The kernel names for OpenMP are manually mangled and not ideal when we
report something to the user. We demangle them now, providing the
function and line number of the target region, together with the actual
kernel name.</pre>
</div>
</content>
</entry>
<entry>
<title>[Frontend][OpenMP] Implement getLeafOrCompositeConstructs (#89104)</title>
<updated>2024-04-24T13:03:36+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2024-04-24T13:03:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d577518d98c7b93cc7e55ae9aafd0fc1ce38ec0e'/>
<id>d577518d98c7b93cc7e55ae9aafd0fc1ce38ec0e</id>
<content type='text'>
This function will break up a construct into constituent leaf and
composite constructs, e.g. if OMPD_c_d_e and OMPD_d_e are composite
constructs, then OMPD_a_b_c_d_e will be broken up into the list {OMPD_a,
OMPD_b, OMPD_c_d_e}.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function will break up a construct into constituent leaf and
composite constructs, e.g. if OMPD_c_d_e and OMPD_d_e are composite
constructs, then OMPD_a_b_c_d_e will be broken up into the list {OMPD_a,
OMPD_b, OMPD_c_d_e}.</pre>
</div>
</content>
</entry>
<entry>
<title>[Frontend][OpenMP] Add functions for checking construct type (#87258)</title>
<updated>2024-04-23T13:10:40+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2024-04-23T13:10:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=70d3ddb280ea47066349eed1cd99bc0348bf4186'/>
<id>70d3ddb280ea47066349eed1cd99bc0348bf4186</id>
<content type='text'>
Implement helper functions to identify leaf, composite, and combined
constructs.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement helper functions to identify leaf, composite, and combined
constructs.</pre>
</div>
</content>
</entry>
</feed>
