<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/flang/lib/Semantics/resolve-directives.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] Enable tiling (#143715)</title>
<updated>2025-09-10T13:25:40+00:00</updated>
<author>
<name>Jan Leyonberg</name>
<email>jan_sjodin@yahoo.com</email>
</author>
<published>2025-09-10T13:25:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d452e67ee7b5d17aa040f71d8997abc1a47750e4'/>
<id>d452e67ee7b5d17aa040f71d8997abc1a47750e4</id>
<content type='text'>
This patch enables tiling in flang. In MLIR tiling is handled by
changing the the omp.loop_nest op to be able to represent both collapse
and tiling, so the flang front-end will combine the nested constructs into
a single MLIR op. The MLIR-&gt;LLVM-IR lowering of the LoopNestOp is
enhanced to first do the tiling if present, then collapse.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch enables tiling in flang. In MLIR tiling is handled by
changing the the omp.loop_nest op to be able to represent both collapse
and tiling, so the flang front-end will combine the nested constructs into
a single MLIR op. The MLIR-&gt;LLVM-IR lowering of the LoopNestOp is
enhanced to first do the tiling if present, then collapse.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Flang][OpenMP] Fix default firstprivatization miscategorization of mod file symbols (#157009)</title>
<updated>2025-09-08T16:52:59+00:00</updated>
<author>
<name>agozillon</name>
<email>Andrew.Gozillon@amd.com</email>
</author>
<published>2025-09-08T16:52:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=262e994c8b1640a13819ca3d1de82dab300e1771'/>
<id>262e994c8b1640a13819ca3d1de82dab300e1771</id>
<content type='text'>
In at least certain cases, notably when equivalence is used (at least
for the example this showed up as a problem in) we currently
miscategorize symbols as firstprivate when they may not be, as they can
throw a false positive when a use symbol from a mod file is picked up.

The fix to this is to chase up the appropriate symbol to access the
correct details.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In at least certain cases, notably when equivalence is used (at least
for the example this showed up as a problem in) we currently
miscategorize symbols as firstprivate when they may not be, as they can
throw a false positive when a use symbol from a mod file is picked up.

The fix to this is to chase up the appropriate symbol to access the
correct details.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][acc] honor reduction clause's implied copy attribute (#156982)</title>
<updated>2025-09-06T15:30:08+00:00</updated>
<author>
<name>Andre Kuhlenschmidt</name>
<email>andre.kuhlenschmidt@gmail.com</email>
</author>
<published>2025-09-06T15:30:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fb4d72e2bc6b7068e887573869274d9eddada54a'/>
<id>fb4d72e2bc6b7068e887573869274d9eddada54a</id>
<content type='text'>
The Open ACC spec states that the reduction clause implies the copy
clause. Account for this in the check for `default(none)` variables. Add
a test that shouldn't error, but did before this PR.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Open ACC spec states that the reduction clause implies the copy
clause. Account for this in the check for `default(none)` variables. Add
a test that shouldn't error, but did before this PR.</pre>
</div>
</content>
</entry>
<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][openacc] bug fix in semantic checking (#155659)</title>
<updated>2025-08-27T23:23:04+00:00</updated>
<author>
<name>Andre Kuhlenschmidt</name>
<email>andre.kuhlenschmidt@gmail.com</email>
</author>
<published>2025-08-27T23:23:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6768056af9483076e85c7bfefb83261f7c96fbe4'/>
<id>6768056af9483076e85c7bfefb83261f7c96fbe4</id>
<content type='text'>
This fixes two scoping related bugs with OpenACC semantic checking.
- Data constructs with open acc now inherit the default Data Sharing
Attribute of their parent construct.
- Data Sharing Attributes scopes now nest such that if a symbol's DSA
wasn't declared by the innermost then lookup looks in the parent
construct's data sharing declarations. This fixes the added test cases.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes two scoping related bugs with OpenACC semantic checking.
- Data constructs with open acc now inherit the default Data Sharing
Attribute of their parent construct.
- Data Sharing Attributes scopes now nest such that if a symbol's DSA
wasn't declared by the innermost then lookup looks in the parent
construct's data sharing declarations. This fixes the added test cases.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Fix parsing of ASSUME directive (#155257)</title>
<updated>2025-08-27T12:31:52+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-27T12:31:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=870866f50047568794bc6f393720182c7d678373'/>
<id>870866f50047568794bc6f393720182c7d678373</id>
<content type='text'>
The ASSUME directive is block-associated and whether the end-directive
is optional or not depends on the form of the block. This is all taken
care of automatically since the AST node for ASSUME inherits from
OmpBlockConstruct.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ASSUME directive is block-associated and whether the end-directive
is optional or not depends on the form of the block. This is all taken
care of automatically since the AST node for ASSUME inherits from
OmpBlockConstruct.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Consolidate copy-in/copy-out determination in evaluate framework (#151408)</title>
<updated>2025-08-26T22:40:13+00:00</updated>
<author>
<name>Eugene Epshteyn</name>
<email>eepshteyn@nvidia.com</email>
</author>
<published>2025-08-26T22:40:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4b6a4aa5228a45c3ab2add631f9dd49777b5bf24'/>
<id>4b6a4aa5228a45c3ab2add631f9dd49777b5bf24</id>
<content type='text'>
New implementation of `MayNeedCopy()` is used to consolidate
copy-in/copy-out checks.

`IsAssumedShape()` and `IsAssumedRank()` were simplified and are both
now in `Fortran::semantics` workspace.

`preparePresentUserCallActualArgument()` in lowering was modified to use
`MayNeedCopyInOut()`

Fixes https://github.com/llvm/llvm-project/issues/138471</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New implementation of `MayNeedCopy()` is used to consolidate
copy-in/copy-out checks.

`IsAssumedShape()` and `IsAssumedRank()` were simplified and are both
now in `Fortran::semantics` workspace.

`preparePresentUserCallActualArgument()` in lowering was modified to use
`MayNeedCopyInOut()`

Fixes https://github.com/llvm/llvm-project/issues/138471</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][openmp] Add parser and semantic support for workdistribute (#154377)</title>
<updated>2025-08-25T13:07:36+00:00</updated>
<author>
<name>Chaitanya</name>
<email>Krishna.Sankisa@amd.com</email>
</author>
<published>2025-08-25T13:07:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=374db67a5eed5cb12251002a809507ae950a24e8'/>
<id>374db67a5eed5cb12251002a809507ae950a24e8</id>
<content type='text'>
This PR adds workdistribute parser and semantic support in flang.

The work in this PR is c-p and updated from @ivanradanov commits from coexecute implementation:
flang_workdistribute_iwomp_2024</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR adds workdistribute parser and semantic support in flang.

The work in this PR is c-p and updated from @ivanradanov commits from coexecute implementation:
flang_workdistribute_iwomp_2024</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Semantic checks for GROUPPRIVATE (#154779)</title>
<updated>2025-08-22T13:29:57+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-22T13:29:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3768ec309bbbc54a5e93257cf83f0b6a19a0f050'/>
<id>3768ec309bbbc54a5e93257cf83f0b6a19a0f050</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Avoid crash with MAP w/o modifiers, version &gt;= 6.0 (#154352)</title>
<updated>2025-08-19T15:18:51+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-08-19T15:18:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8255d240a96405e2ae24b61153bbca18854a6796'/>
<id>8255d240a96405e2ae24b61153bbca18854a6796</id>
<content type='text'>
The current code will crash on the MAP clause with OpenMP version &gt;= 6.0
when the clause does not explicitly list any modifiers. The proper fix
is to update the handling of assumed-size arrays for OpenMP 6.0+, but in
the short term keep the behavior from 5.2, just avoid the crash.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current code will crash on the MAP clause with OpenMP version &gt;= 6.0
when the clause does not explicitly list any modifiers. The proper fix
is to update the handling of assumed-size arrays for OpenMP 6.0+, but in
the short term keep the behavior from 5.2, just avoid the crash.</pre>
</div>
</content>
</entry>
</feed>
