<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Transforms/IPO/AttributorAttributes.cpp, branch users/nico/python-2</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>[Reland][IPO] Added attributor for identifying invariant loads (#146584)</title>
<updated>2025-07-01T21:46:19+00:00</updated>
<author>
<name>zGoldthorpe</name>
<email>zgoldtho@ualberta.ca</email>
</author>
<published>2025-07-01T21:46:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f393211454a23bc06de76c00b8c2d96b72fe4530'/>
<id>f393211454a23bc06de76c00b8c2d96b72fe4530</id>
<content type='text'>
Patched and tested the `AAInvariantLoadPointer` attributor from #141800,
which identifies pointers whose loads are eligible to be marked as
`!invariant.load`.

The bug in the attributor was due to `AAMemoryBehavior` always
identifying pointers obtained from `alloca`s as having no writes. I'm
not entirely sure why `AAMemoryBehavior` behaves this way, but it seems
to be beceause it identifies the scope of an `alloca` to be limited to
only that instruction (and, certainly, no memory writes occur within the
`alloca` instructin). This patch just adds a check to disallow all loads
from `alloca` pointers from being marked `!invariant.load` (since any
well-defined program will have to write to stack pointers at some
point).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patched and tested the `AAInvariantLoadPointer` attributor from #141800,
which identifies pointers whose loads are eligible to be marked as
`!invariant.load`.

The bug in the attributor was due to `AAMemoryBehavior` always
identifying pointers obtained from `alloca`s as having no writes. I'm
not entirely sure why `AAMemoryBehavior` behaves this way, but it seems
to be beceause it identifies the scope of an `alloca` to be limited to
only that instruction (and, certainly, no memory writes occur within the
`alloca` instructin). This patch just adds a check to disallow all loads
from `alloca` pointers from being marked `!invariant.load` (since any
well-defined program will have to write to stack pointers at some
point).</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[IPO] Added attributor for identifying invariant loads" (#144808)</title>
<updated>2025-06-18T22:35:01+00:00</updated>
<author>
<name>zGoldthorpe</name>
<email>Zach.Goldthorpe@amd.com</email>
</author>
<published>2025-06-18T22:35:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=00ae89a1cbece94412cf832e47fdf449a611ad24'/>
<id>00ae89a1cbece94412cf832e47fdf449a611ad24</id>
<content type='text'>
Reverts llvm/llvm-project#141800

The implementation critically misunderstands the `AAMemoryBehavior`
attributor, which it relies on heavily.

@shiltian, since I do not have commit permissions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#141800

The implementation critically misunderstands the `AAMemoryBehavior`
attributor, which it relies on heavily.

@shiltian, since I do not have commit permissions.</pre>
</div>
</content>
</entry>
<entry>
<title>[IPO] Added attributor for identifying invariant loads (#141800)</title>
<updated>2025-06-16T16:16:47+00:00</updated>
<author>
<name>zGoldthorpe</name>
<email>Zach.Goldthorpe@amd.com</email>
</author>
<published>2025-06-16T16:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=25dcd231bfee1120c21b102e074542c54fb7c5c2'/>
<id>25dcd231bfee1120c21b102e074542c54fb7c5c2</id>
<content type='text'>
The attributor conservatively marks pointers whose loads are eligible to
be marked as `!invariant.load`.
It does so by identifying:
1. Pointers marked `noalias` and `readonly`
2. Pointers whose underlying objects are all eligible for invariant
loads.

The attributor then manifests this attribute at non-atomic non-volatile
load instructions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The attributor conservatively marks pointers whose loads are eligible to
be marked as `!invariant.load`.
It does so by identifying:
1. Pointers marked `noalias` and `readonly`
2. Pointers whose underlying objects are all eligible for invariant
loads.

The attributor then manifests this attribute at non-atomic non-volatile
load instructions.</pre>
</div>
</content>
</entry>
<entry>
<title>[Attributor] Use known non-flat AS before `getAssumedAddrSpace` (#143221)</title>
<updated>2025-06-09T14:11:34+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-06-09T14:11:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f32b75658f2676acf12cf16d8ad20067e43226d3'/>
<id>f32b75658f2676acf12cf16d8ad20067e43226d3</id>
<content type='text'>
If the underlying object already has a non-flat address space, we simply
use
that before calling `getAssumedAddrSpace`.

Partially fixes SWDEV-536263.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the underlying object already has a non-flat address space, we simply
use
that before calling `getAssumedAddrSpace`.

Partially fixes SWDEV-536263.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use *Set::insert_range (NFC) (#138237)</title>
<updated>2025-06-03T02:48:13+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-06-03T02:48:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=54d836a0807c8b1fe11024e3886141dfcbab3880'/>
<id>54d836a0807c8b1fe11024e3886141dfcbab3880</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reapply "Reapply "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)""</title>
<updated>2025-05-31T02:11:22+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-05-31T02:11:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4d48673562163d99dec601a40dc79aa30102d088'/>
<id>4d48673562163d99dec601a40dc79aa30102d088</id>
<content type='text'>
This reverts commit 37ea3b32cdcb6c0dcecbcc4bf844f5190c7378dd.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 37ea3b32cdcb6c0dcecbcc4bf844f5190c7378dd.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Reapply "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)""</title>
<updated>2025-05-31T02:06:16+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-05-31T02:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=37ea3b32cdcb6c0dcecbcc4bf844f5190c7378dd'/>
<id>37ea3b32cdcb6c0dcecbcc4bf844f5190c7378dd</id>
<content type='text'>
This reverts commit 4efc13f8ff1eaf4f9fb1fcea8d4552b3eca052ca.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 4efc13f8ff1eaf4f9fb1fcea8d4552b3eca052ca.
</pre>
</div>
</content>
</entry>
<entry>
<title>Reapply "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)"</title>
<updated>2025-05-31T01:56:24+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-05-31T01:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4efc13f8ff1eaf4f9fb1fcea8d4552b3eca052ca'/>
<id>4efc13f8ff1eaf4f9fb1fcea8d4552b3eca052ca</id>
<content type='text'>
This reverts commit 3c6211c183885afb5d89259a53c4f4f46a6bf399.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 3c6211c183885afb5d89259a53c4f4f46a6bf399.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)"</title>
<updated>2025-05-31T01:15:25+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-05-31T01:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3c6211c183885afb5d89259a53c4f4f46a6bf399'/>
<id>3c6211c183885afb5d89259a53c4f4f46a6bf399</id>
<content type='text'>
This reverts commit 9bf6b2a8cb0467b62173659306e43a0346f063a2.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 9bf6b2a8cb0467b62173659306e43a0346f063a2.
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)</title>
<updated>2025-05-30T21:30:42+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-05-30T21:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9bf6b2a8cb0467b62173659306e43a0346f063a2'/>
<id>9bf6b2a8cb0467b62173659306e43a0346f063a2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
