<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.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>[AMDGPU] Make use of getFunction and getMF. NFC. (#167872)</title>
<updated>2025-11-14T11:00:57+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-11-14T11:00:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=72c69aefbae8bfb087622e642acbd0cba7578747'/>
<id>72c69aefbae8bfb087622e642acbd0cba7578747</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU][NFC] Avoid copying MachineOperands (#166293)</title>
<updated>2025-11-05T05:18:40+00:00</updated>
<author>
<name>LU-JOHN</name>
<email>John.Lu@amd.com</email>
</author>
<published>2025-11-05T05:18:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=87b1d3537ae6adcb0a16cc0fa2749862d01009d3'/>
<id>87b1d3537ae6adcb0a16cc0fa2749862d01009d3</id>
<content type='text'>
Avoid copying machine operands.

Signed-off-by: John Lu &lt;John.Lu@amd.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid copying machine operands.

Signed-off-by: John Lu &lt;John.Lu@amd.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] MachineVerifier to check early-clobber constraint (#151421)</title>
<updated>2025-11-05T02:39:31+00:00</updated>
<author>
<name>Abhay Kanhere</name>
<email>abhay@kanhere.net</email>
</author>
<published>2025-11-05T02:39:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d998f92a002bbdd78156716bad60523d7ddf1233'/>
<id>d998f92a002bbdd78156716bad60523d7ddf1233</id>
<content type='text'>
Currently MachineVerifier is missing verifying early-clobber operand
constraint.
The only other machine operand constraint -  TiedTo is already verified.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently MachineVerifier is missing verifying early-clobber operand
constraint.
The only other machine operand constraint -  TiedTo is already verified.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU][GlobalISel] Clean up selectCOPY_SCC_VCC function (#165797)</title>
<updated>2025-10-31T20:17:44+00:00</updated>
<author>
<name>vangthao95</name>
<email>vang.thao@amd.com</email>
</author>
<published>2025-10-31T20:17:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d1d635083d4364f8fde432f03c487ba18f3b0aa5'/>
<id>d1d635083d4364f8fde432f03c487ba18f3b0aa5</id>
<content type='text'>
Follow-up patch to address the comments in
https://github.com/llvm/llvm-project/pull/165355.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up patch to address the comments in
https://github.com/llvm/llvm-project/pull/165355.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU][GlobalISel] Fix issue with copy_scc_vcc on gfx7 (#165355)</title>
<updated>2025-10-30T15:19:12+00:00</updated>
<author>
<name>vangthao95</name>
<email>vang.thao@amd.com</email>
</author>
<published>2025-10-30T15:19:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ba5cde79aa05eeaa87d45cf472f3583fa9f93bff'/>
<id>ba5cde79aa05eeaa87d45cf472f3583fa9f93bff</id>
<content type='text'>
When selecting for G_AMDGPU_COPY_SCC_VCC, we use S_CMP_LG_U64 or
S_CMP_LG_U32 for wave64 and wave32 respectively. However, on gfx7 we do
not have the S_CMP_LG_U64 instruction. Work around this issue by using
S_OR_B64 instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When selecting for G_AMDGPU_COPY_SCC_VCC, we use S_CMP_LG_U64 or
S_CMP_LG_U32 for wave64 and wave32 respectively. However, on gfx7 we do
not have the S_CMP_LG_U64 instruction. Work around this issue by using
S_OR_B64 instead.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Support image atomic no return instructions (#150742)</title>
<updated>2025-10-29T02:42:15+00:00</updated>
<author>
<name>Harrison Hao</name>
<email>57025411+harrisonGPU@users.noreply.github.com</email>
</author>
<published>2025-10-29T02:42:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d604ab62885fcc4aaa66b712125377a01dcc7e1a'/>
<id>d604ab62885fcc4aaa66b712125377a01dcc7e1a</id>
<content type='text'>
Add support for no-return variants of image atomic operations
(e.g. IMAGE_ATOMIC_ADD_NORTN, IMAGE_ATOMIC_CMPSWAP_NORTN). 
These variants are generated when the return value of the intrinsic is
unused, allowing the backend to select no return type instructions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for no-return variants of image atomic operations
(e.g. IMAGE_ATOMIC_ADD_NORTN, IMAGE_ATOMIC_CMPSWAP_NORTN). 
These variants are generated when the return value of the intrinsic is
unused, allowing the backend to select no return type instructions.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Enable volatile and non-temporal for loads to LDS (#153244)</title>
<updated>2025-10-20T17:42:22+00:00</updated>
<author>
<name>Krzysztof Drewniak</name>
<email>Krzysztof.Drewniak@amd.com</email>
</author>
<published>2025-10-20T17:42:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d37141776f6b6d0116f4566d4ee56b29ecdc7d0e'/>
<id>d37141776f6b6d0116f4566d4ee56b29ecdc7d0e</id>
<content type='text'>
The primary purpose of this commit is to enable marking loads to LDS
(global.load.lds, buffer.*.load.lds) volatile (using bit 31 of the aux
as with normal buffer loads) and to ensure that their !nontemporal
annotations translate to appropriate settings of te cache control bits.

However, in the process of implementing this feature, we also fixed
- Incorrect handling of buffer loads to LDS in GlobalISel
- Updating the handling of volatile on buffers in SIMemoryLegalizer:
previously, the mapping of address spaces would cause volatile on buffer
loads to be silently dropped on at least gfx10.

---------

Co-authored-by: Matt Arsenault &lt;arsenm2@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The primary purpose of this commit is to enable marking loads to LDS
(global.load.lds, buffer.*.load.lds) volatile (using bit 31 of the aux
as with normal buffer loads) and to ensure that their !nontemporal
annotations translate to appropriate settings of te cache control bits.

However, in the process of implementing this feature, we also fixed
- Incorrect handling of buffer loads to LDS in GlobalISel
- Updating the handling of volatile on buffers in SIMemoryLegalizer:
previously, the mapping of address spaces would cause volatile on buffer
loads to be silently dropped on at least gfx10.

---------

Co-authored-by: Matt Arsenault &lt;arsenm2@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Use srcvalue and delete Ignore complex pattern (#161359)</title>
<updated>2025-09-30T14:18:51+00:00</updated>
<author>
<name>Petar Avramovic</name>
<email>Petar.Avramovic@amd.com</email>
</author>
<published>2025-09-30T14:18:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=98d43ef2d842eb8b552b244a4ed6218d757682a1'/>
<id>98d43ef2d842eb8b552b244a4ed6218d757682a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Fix gcc build break (#161354)</title>
<updated>2025-09-30T12:01:08+00:00</updated>
<author>
<name>Petar Avramovic</name>
<email>Petar.Avramovic@amd.com</email>
</author>
<published>2025-09-30T12:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1553b3de71112f7faf2c5d25227b322978bab9c0'/>
<id>1553b3de71112f7faf2c5d25227b322978bab9c0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Fix s_barrier_leave to write to scc (#161221)</title>
<updated>2025-09-30T10:55:35+00:00</updated>
<author>
<name>Petar Avramovic</name>
<email>Petar.Avramovic@amd.com</email>
</author>
<published>2025-09-30T10:55:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=709a74dfb3b5e965479760af8bd29a84c89e1d2e'/>
<id>709a74dfb3b5e965479760af8bd29a84c89e1d2e</id>
<content type='text'>
s_barrier_leave implicitly defines $scc
and does not use imm that represents type of barrier,
isel pattern ignores imm operand from llvm intrinsic.
Test if SIInsertWaitcnts tracks this scc write.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
s_barrier_leave implicitly defines $scc
and does not use imm that represents type of barrier,
isel pattern ignores imm operand from llvm intrinsic.
Test if SIInsertWaitcnts tracks this scc write.</pre>
</div>
</content>
</entry>
</feed>
