<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/tools/UpdateTestChecks, 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: Select vector reg class for divergent build_vector (#168169)</title>
<updated>2025-11-15T05:53:39+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-11-15T05:53:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fbf74b2553dea68873f2c0c9692ba28bd1369884'/>
<id>fbf74b2553dea68873f2c0c9692ba28bd1369884</id>
<content type='text'>
The main improvement is to the mfma tests. There are some
mild regressions scattered around, and a few major ones.
The worst regressions are in some of the bitcast tests;
these are cases where the SGPR argument list runs out
and uses VGPRs, and the copies-from-VGPR are misidentified
as divergent. Most of the shufflevector tests are also
regressions. These end up with cleaner MIR, but then get poor
regalloc decisions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The main improvement is to the mfma tests. There are some
mild regressions scattered around, and a few major ones.
The worst regressions are in some of the bitcast tests;
these are cases where the SGPR argument list runs out
and uses VGPRs, and the copies-from-VGPR are misidentified
as divergent. Most of the shufflevector tests are also
regressions. These end up with cleaner MIR, but then get poor
regalloc decisions.</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Start using RegClassByHwMode for wavesize operands</title>
<updated>2025-11-11T23:07:59+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-11-11T23:07:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2bf92787dfa5e59bfbc62edd397ecff051991ed3'/>
<id>2bf92787dfa5e59bfbc62edd397ecff051991ed3</id>
<content type='text'>
 (#159884)

This eliminates the pseudo registerclasses used to hack the
wave register class, which are now replaced with RegClassByHwMode,
so most of the diff is from register class ID renumbering.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 (#159884)

This eliminates the pseudo registerclasses used to hack the
wave register class, which are now replaced with RegClassByHwMode,
so most of the diff is from register class ID renumbering.</pre>
</div>
</content>
</entry>
<entry>
<title>Reapply "[utils][UpdateLLCTestChecks] Add MIR support to update_llc_test_checks.py." (#164965) (#166575)</title>
<updated>2025-11-06T10:35:46+00:00</updated>
<author>
<name>Valery Pykhtin</name>
<email>valery.pykhtin@amd.com</email>
</author>
<published>2025-11-06T10:35:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=59f6f33bc3d666acdc5e4c822dfaddc92dee1f83'/>
<id>59f6f33bc3d666acdc5e4c822dfaddc92dee1f83</id>
<content type='text'>
This change enables update_llc_test_checks.py to automatically generate
MIR checks for RUN lines that use `-stop-before` or `-stop-after` flags
allowing tests to verify intermediate compilation stages (e.g., after
instruction selection but before peephole optimizations) alongside the
final assembly output. If `-debug-only` flag is present in the run line it's
considered as the main point of interest for testing and stop flags above
are ignored (that is no MIR checks are generated).

This resulted from the scenario, when I needed to test two instruction
matching patterns where the later pattern in the peepholer reverts the
earlier pattern in the instruction selector and distinguish it from the
case when the earlier pattern didn't worked at all.

Initially created by Claude Sonnet 4.5 it was improved later to handle
conflicts in MIR &lt;-&gt; ASM prefixes and formatting.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change enables update_llc_test_checks.py to automatically generate
MIR checks for RUN lines that use `-stop-before` or `-stop-after` flags
allowing tests to verify intermediate compilation stages (e.g., after
instruction selection but before peephole optimizations) alongside the
final assembly output. If `-debug-only` flag is present in the run line it's
considered as the main point of interest for testing and stop flags above
are ignored (that is no MIR checks are generated).

This resulted from the scenario, when I needed to test two instruction
matching patterns where the later pattern in the peepholer reverts the
earlier pattern in the instruction selector and distinguish it from the
case when the earlier pattern didn't worked at all.

Initially created by Claude Sonnet 4.5 it was improved later to handle
conflicts in MIR &lt;-&gt; ASM prefixes and formatting.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[utils][UpdateLLCTestChecks] Add MIR support to update_llc_test_checks.py." (#166549)</title>
<updated>2025-11-05T13:30:27+00:00</updated>
<author>
<name>Valery Pykhtin</name>
<email>valery.pykhtin@amd.com</email>
</author>
<published>2025-11-05T13:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ba1dbdd44a1db9a5a0912830afc05d7b18cbf666'/>
<id>ba1dbdd44a1db9a5a0912830afc05d7b18cbf666</id>
<content type='text'>
Reverts llvm/llvm-project#164965</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#164965</pre>
</div>
</content>
</entry>
<entry>
<title>[utils][UpdateLLCTestChecks] Add MIR support to update_llc_test_checks.py. (#164965)</title>
<updated>2025-11-05T12:31:10+00:00</updated>
<author>
<name>Valery Pykhtin</name>
<email>valery.pykhtin@amd.com</email>
</author>
<published>2025-11-05T12:31:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c782ed3440b5a1565428db9731504fd1c4c2a9a9'/>
<id>c782ed3440b5a1565428db9731504fd1c4c2a9a9</id>
<content type='text'>
This change enables update_llc_test_checks.py to automatically generate
MIR checks for RUN lines that use `-stop-before` or `-stop-after` flags
allowing tests to verify intermediate compilation stages (e.g., after
instruction selection but before peephole optimizations) alongside the
final assembly output. If `-debug-only` flag is present in the run line it's
considered as the main point of interest for testing and stop flags above
are ignored (that is no MIR checks are generated).

This resulted from the scenario, when I needed to test two instruction
matching patterns where the later pattern in the peepholer reverts the
earlier pattern in the instruction selector and distinguish it from the
case when the earlier pattern didn't worked at all.

Initially created by Claude Sonnet 4.5 it was improved later to handle
conflicts in MIR &lt;-&gt; ASM prefixes and formatting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change enables update_llc_test_checks.py to automatically generate
MIR checks for RUN lines that use `-stop-before` or `-stop-after` flags
allowing tests to verify intermediate compilation stages (e.g., after
instruction selection but before peephole optimizations) alongside the
final assembly output. If `-debug-only` flag is present in the run line it's
considered as the main point of interest for testing and stop flags above
are ignored (that is no MIR checks are generated).

This resulted from the scenario, when I needed to test two instruction
matching patterns where the later pattern in the peepholer reverts the
earlier pattern in the instruction selector and distinguish it from the
case when the earlier pattern didn't worked at all.

Initially created by Claude Sonnet 4.5 it was improved later to handle
conflicts in MIR &lt;-&gt; ASM prefixes and formatting.
</pre>
</div>
</content>
</entry>
<entry>
<title>[UTC] CHECK-EMPTY instead of skipping blank lines (#165718)</title>
<updated>2025-11-01T09:01:30+00:00</updated>
<author>
<name>Kunqiu Chen</name>
<email>camsyn@foxmail.com</email>
</author>
<published>2025-11-01T09:01:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=82cf54fbf6a7cd185cfe2279ca9d0cf4c4ea16e0'/>
<id>82cf54fbf6a7cd185cfe2279ca9d0cf4c4ea16e0</id>
<content type='text'>
Previously, any blank lines in IR were ignored by UTC, leading to more
fragile `CHECK`s being generated.

This change lets UTC, 1) emit `CHECK-EMPTY` to check blank lines, and 2)
generate more `CHECK-NEXT`s, landing the discussion
https://github.com/llvm/llvm-project/pull/165419#issuecomment-3457572422.

Moreover, this change also aligns the behavior of IR check-gen to ASM
check-gen, which has been emitting `CHECK-EMPTY` since
https://github.com/llvm/llvm-project/commit/a8a89c77ea3c16b45763fca6940bbfd3bef7884f.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, any blank lines in IR were ignored by UTC, leading to more
fragile `CHECK`s being generated.

This change lets UTC, 1) emit `CHECK-EMPTY` to check blank lines, and 2)
generate more `CHECK-NEXT`s, landing the discussion
https://github.com/llvm/llvm-project/pull/165419#issuecomment-3457572422.

Moreover, this change also aligns the behavior of IR check-gen to ASM
check-gen, which has been emitting `CHECK-EMPTY` since
https://github.com/llvm/llvm-project/commit/a8a89c77ea3c16b45763fca6940bbfd3bef7884f.</pre>
</div>
</content>
</entry>
<entry>
<title>[UTC] Indent switch cases (#165212)</title>
<updated>2025-10-28T14:00:54+00:00</updated>
<author>
<name>Kunqiu Chen</name>
<email>camsyn@foxmail.com</email>
</author>
<published>2025-10-28T14:00:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=566c7311d4497ab55db36fcae44579dc244fa4a4'/>
<id>566c7311d4497ab55db36fcae44579dc244fa4a4</id>
<content type='text'>
LLVM prints switch cases indented by 2 additional spaces, as follows:
```LLVM
  switch i32 %x, label %default [
    i32 0, label %phi
    i32 1, label %phi
  ]
```

Since this only changes the output IR of update_test_checks.py and does
not change the logic of the File Check Pattern, there seems to be no
need to update the existing test cases.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
LLVM prints switch cases indented by 2 additional spaces, as follows:
```LLVM
  switch i32 %x, label %default [
    i32 0, label %phi
    i32 1, label %phi
  ]
```

Since this only changes the output IR of update_test_checks.py and does
not change the logic of the File Check Pattern, there seems to be no
need to update the existing test cases.</pre>
</div>
</content>
</entry>
<entry>
<title>[UpdateTestChecks][llc] Support `arm64-apple-darwin` (#165092)</title>
<updated>2025-10-27T19:22:23+00:00</updated>
<author>
<name>Tomer Shafir</name>
<email>tomer.shafir8@gmail.com</email>
</author>
<published>2025-10-27T19:22:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9abae17b25f937376e5036b080b473f948232968'/>
<id>9abae17b25f937376e5036b080b473f948232968</id>
<content type='text'>
Adds `arm64-apple-darwin` support to `asm.py` matching and removes now
invalidated `target-triple-mismatch` test (I dont have another triple
supported by llc but not the autogenerator that make this test useful).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds `arm64-apple-darwin` support to `asm.py` matching and removes now
invalidated `target-triple-mismatch` test (I dont have another triple
supported by llc but not the autogenerator that make this test useful).</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Use ELF mangling in data layout (#163011)</title>
<updated>2025-10-13T03:01:45+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-10-13T03:01:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=853760bca6aa7a960b154cef8c61f87271870b8a'/>
<id>853760bca6aa7a960b154cef8c61f87271870b8a</id>
<content type='text'>
Closes #95219</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #95219</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Remove LDS_DIRECT_CLASS register class (#161762)</title>
<updated>2025-10-04T03:56:43+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-10-04T03:56:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4af3e8f1d4ae0a3eb45068bd12c3b67cb92a7a90'/>
<id>4af3e8f1d4ae0a3eb45068bd12c3b67cb92a7a90</id>
<content type='text'>
This is a singleton register class which is a bad idea,
and not actually used.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a singleton register class which is a bad idea,
and not actually used.</pre>
</div>
</content>
</entry>
</feed>
