<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/flang/lib/Semantics/check-omp-loop.cpp, branch users/mingmingl-llvm/samplefdo-profile-format</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>[flang][OpenMP] Replace OpenMPBlockConstruct with OmpBlockConstruct (#155872)</title>
<updated>2025-08-29T12:37:48+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-29T12:37:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=88b71e20488ae0987b7ec7cfa9d49d9358b1f38c'/>
<id>88b71e20488ae0987b7ec7cfa9d49d9358b1f38c</id>
<content type='text'>
OpenMPBlockConstruct, somewhat confusingly, represents most but not all
block-associated constructs. It's derived from OmpBlockConstruct, as are
all the remaining block-associated constructs.

It does not correspond to any well-defined group of constructs. It's the
collection of constructs that don't have their own types (and those that
do have their own types do so for their own reasons).

Using the broader OmpBlockConstruct in type-based visitors won't cause
issues, because the specific overloads (for classes derived from it)
will always be preferred.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenMPBlockConstruct, somewhat confusingly, represents most but not all
block-associated constructs. It's derived from OmpBlockConstruct, as are
all the remaining block-associated constructs.

It does not correspond to any well-defined group of constructs. It's the
collection of constructs that don't have their own types (and those that
do have their own types do so for their own reasons).

Using the broader OmpBlockConstruct in type-based visitors won't cause
issues, because the specific overloads (for classes derived from it)
will always be preferred.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Make OpenMPCriticalConstruct follow block structure (#152007)</title>
<updated>2025-08-07T13:10:25+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-07T13:10:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e368b5343d037c89051097c2a87a6fb76548014e'/>
<id>e368b5343d037c89051097c2a87a6fb76548014e</id>
<content type='text'>
This allows not having the END CRITICAL directive in certain situations.
Update semantic checks and symbol resolution.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows not having the END CRITICAL directive in certain situations.
Update semantic checks and symbol resolution.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Make all block constructs share the same structure (#150956)</title>
<updated>2025-08-01T12:52:59+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-01T12:52:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6533ad04edcbc02d012cdb181d8745ca0d2f2e75'/>
<id>6533ad04edcbc02d012cdb181d8745ca0d2f2e75</id>
<content type='text'>
The structure is
- OmpBeginDirective (aka OmpDirectiveSpecification)
- Block
- optional&lt;OmpEndDirective&gt; (aka optional&lt;OmpDirectiveSpecification&gt;)

The OmpBeginDirective and OmpEndDirective are effectively different
names for OmpDirectiveSpecification. They exist to allow the semantic
analyses to distinguish between the beginning and the ending of a block
construct without maintaining additional context.

The actual changes are in the parser: parse-tree.h and openmp-parser.cpp
in particular. The rest is simply changing the way the directive/clause
information is accessed (typically for the simpler).

All standalone and block constructs now use OmpDirectiveSpecification to
store the directive/clause information.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The structure is
- OmpBeginDirective (aka OmpDirectiveSpecification)
- Block
- optional&lt;OmpEndDirective&gt; (aka optional&lt;OmpDirectiveSpecification&gt;)

The OmpBeginDirective and OmpEndDirective are effectively different
names for OmpDirectiveSpecification. They exist to allow the semantic
analyses to distinguish between the beginning and the ending of a block
construct without maintaining additional context.

The actual changes are in the parser: parse-tree.h and openmp-parser.cpp
in particular. The rest is simply changing the way the directive/clause
information is accessed (typically for the simpler).

All standalone and block constructs now use OmpDirectiveSpecification to
store the directive/clause information.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Split check-omp-structure.cpp into smaller files, NFC (#146359)</title>
<updated>2025-07-01T16:12:00+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-07-01T16:12:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ba116a8bed9ae093575bd316bf8847bb016177dd'/>
<id>ba116a8bed9ae093575bd316bf8847bb016177dd</id>
<content type='text'>
Create these new files in flang/lib/Semantics:
  openmp-utils.cpp/.h         - Common utilities
  check-omp-atomic.cpp        - Atomic-related checks
  check-omp-loop.cpp          - Loop constructs/clauses
  check-omp-metadirective.cpp - Metadirective-related checks

Update lists of included headers, std in particular.

---------

Co-authored-by: Jack Styles &lt;jack.styles@arm.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Create these new files in flang/lib/Semantics:
  openmp-utils.cpp/.h         - Common utilities
  check-omp-atomic.cpp        - Atomic-related checks
  check-omp-loop.cpp          - Loop constructs/clauses
  check-omp-metadirective.cpp - Metadirective-related checks

Update lists of included headers, std in particular.

---------

Co-authored-by: Jack Styles &lt;jack.styles@arm.com&gt;</pre>
</div>
</content>
</entry>
</feed>
