<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp, branch users/jtb20/omp-taskgraph-runtime</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>[AMDGPU] Be less optimistic when allocating module scope lds (#161464)</title>
<updated>2025-10-02T20:15:48+00:00</updated>
<author>
<name>Jon Chesterfield</name>
<email>jon@spectralcompute.co.uk</email>
</author>
<published>2025-10-02T20:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0ebd4334021e7579bfba7a92b692e0e4ece56cb9'/>
<id>0ebd4334021e7579bfba7a92b692e0e4ece56cb9</id>
<content type='text'>
Make the test for when additional variables can be added to the struct
allocated at address zero more stringent. Previously, variables can be
added to it (for faster access) even when that increases the lds
requested by a kernel. This corrects that oversight.

Test case diff shows the change from all variables being allocated into
the module lds to only some being, in particular the introduction of
uses of the offset table and that some kernels now use less lds than
before.

Alternative to PR 160181</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the test for when additional variables can be added to the struct
allocated at address zero more stringent. Previously, variables can be
added to it (for faster access) even when that increases the lds
requested by a kernel. This corrects that oversight.

Test case diff shows the change from all variables being allocated into
the module lds to only some being, in particular the introduction of
uses of the offset table and that some kernels now use less lds than
before.

Alternative to PR 160181</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU][NFC] Only include CodeGenPassBuilder.h where needed. (#154769)</title>
<updated>2025-08-22T09:05:06+00:00</updated>
<author>
<name>Ivan Kosarev</name>
<email>ivan.kosarev@amd.com</email>
</author>
<published>2025-08-22T09:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=faca8c9ed4642e5122f7401ccb52c70a9cd0e83d'/>
<id>faca8c9ed4642e5122f7401ccb52c70a9cd0e83d</id>
<content type='text'>
Saves around 125-210 MB of compilation memory usage per source for
roughly one third of our backend sources, ~60 MB on average.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Saves around 125-210 MB of compilation memory usage per source for
roughly one third of our backend sources, ~60 MB on average.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Upstream the Support for array of named barriers (#154604)</title>
<updated>2025-08-20T21:53:03+00:00</updated>
<author>
<name>Gang Chen</name>
<email>gangc@amd.com</email>
</author>
<published>2025-08-20T21:53:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=575fad289273d3b3b77acc0cf3b54192b6160943'/>
<id>575fad289273d3b3b77acc0cf3b54192b6160943</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] using wrapper llvm::sort(nfc) (#151000)</title>
<updated>2025-08-04T01:27:01+00:00</updated>
<author>
<name>Austin</name>
<email>zhenhangwang@huawei.com</email>
</author>
<published>2025-08-04T01:27:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac'/>
<id>c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac</id>
<content type='text'>
using wrapper llvm::sort(nfc)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
using wrapper llvm::sort(nfc)</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Use reportFatalUsageError in AMDGPULowerModuleLDS (#145130)</title>
<updated>2025-06-21T03:18:25+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-06-21T03:18:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f4661310550d33dcb6942427ed32a3cefc0efaf2'/>
<id>f4661310550d33dcb6942427ed32a3cefc0efaf2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Remove unused includes (NFC) (#141376)</title>
<updated>2025-05-24T21:48:46+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-05-24T21:48:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1e8e66217498566a139ab3c38c5333a08550e4fb'/>
<id>1e8e66217498566a139ab3c38c5333a08550e4fb</id>
<content type='text'>
These are identified by misc-include-cleaner.  I've filtered out those
that break builds.  Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are identified by misc-include-cleaner.  I've filtered out those
that break builds.  Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[AMDGPU] Add flag to prevent reruns of LowerModuleLDS (#129520)"</title>
<updated>2025-05-18T01:41:59+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-05-18T01:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f2165b9d5807ec7dc510ff3727698b3124b0b4e9'/>
<id>f2165b9d5807ec7dc510ff3727698b3124b0b4e9</id>
<content type='text'>
This reverts commit aa9f8596b01fef013ab62c20e61fc96d165f60f7 because it made
some assumptions that may not be valid.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit aa9f8596b01fef013ab62c20e61fc96d165f60f7 because it made
some assumptions that may not be valid.
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Add flag to prevent reruns of LowerModuleLDS (#129520)</title>
<updated>2025-05-15T07:54:21+00:00</updated>
<author>
<name>Pierre van Houtryve</name>
<email>pierre.vanhoutryve@amd.com</email>
</author>
<published>2025-05-15T07:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=aa9f8596b01fef013ab62c20e61fc96d165f60f7'/>
<id>aa9f8596b01fef013ab62c20e61fc96d165f60f7</id>
<content type='text'>
FullLTO has to run this early before module splitting occurs otherwise
module splitting won't work as expected. There was a targeted fix for
fortran on another branch that disables the LTO run but that'd break
full LTO module splitting entirely.

Test changes are due to metadata indexes shifting.

See #122891</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FullLTO has to run this early before module splitting occurs otherwise
module splitting won't work as expected. There was a targeted fix for
fortran on another branch that disables the LTO run but that'd break
full LTO module splitting entirely.

Test changes are due to metadata indexes shifting.

See #122891</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use *(Set|Map)::contains (NFC) (#138431)</title>
<updated>2025-05-04T04:55:36+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-05-04T04:55:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2d287f51eff2a5fbf84458a33f7fb2493cf67965'/>
<id>2d287f51eff2a5fbf84458a33f7fb2493cf67965</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Correctly merge noalias scopes during lowering of LDS data. (#131664)</title>
<updated>2025-04-28T19:02:18+00:00</updated>
<author>
<name>Sirish Pande</name>
<email>sirpande@amd.com</email>
</author>
<published>2025-04-28T19:02:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=abec9ff47da4fd8b614d0338203b2e3663c36aaf'/>
<id>abec9ff47da4fd8b614d0338203b2e3663c36aaf</id>
<content type='text'>
Currently, if there is already noalias metadata present on loads and
stores, lower module lds pass is generating a more conservative aliasing
set. This results in inhibiting scheduling intrinsics that would have
otherwise generated a better pipelined instruction.

The fix is not to always intersect already existing noalias metadata
with noalias created for lowering of LDS. But to intersect only if
noalias scopes are from the same domain, otherwise concatenate exising
noalias sets with LDS noalias.

There a few patches that have come for scopedAA in the past. Following
three should be enough background information.
https://reviews.llvm.org/D91576
https://reviews.llvm.org/D108315
https://reviews.llvm.org/D110049

Essentially, after a pass that might change aliasing info, one should
check if that pass results in change number of MayAlias or ModRef using
the following:
`opt -S -aa-pipeline=basic-aa,scoped-noalias-aa -passes=aa-eval
-evaluate-aa-metadata -print-all-alias-modref-info -disable-output`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, if there is already noalias metadata present on loads and
stores, lower module lds pass is generating a more conservative aliasing
set. This results in inhibiting scheduling intrinsics that would have
otherwise generated a better pipelined instruction.

The fix is not to always intersect already existing noalias metadata
with noalias created for lowering of LDS. But to intersect only if
noalias scopes are from the same domain, otherwise concatenate exising
noalias sets with LDS noalias.

There a few patches that have come for scopedAA in the past. Following
three should be enough background information.
https://reviews.llvm.org/D91576
https://reviews.llvm.org/D108315
https://reviews.llvm.org/D110049

Essentially, after a pass that might change aliasing info, one should
check if that pass results in change number of MayAlias or ModRef using
the following:
`opt -S -aa-pipeline=basic-aa,scoped-noalias-aa -passes=aa-eval
-evaluate-aa-metadata -print-all-alias-modref-info -disable-output`</pre>
</div>
</content>
</entry>
</feed>
