<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/AMDGPU/optimize-compare.mir, 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>[MIRPrinter] Don't print line break when there is no instructions (NFC) (#80147)</title>
<updated>2024-02-01T14:10:52+00:00</updated>
<author>
<name>Quentin Dian</name>
<email>dianqk@dianqk.net</email>
</author>
<published>2024-02-01T14:10:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=112fba974ce42a6e552f7391d20a858a128283a1'/>
<id>112fba974ce42a6e552f7391d20a858a128283a1</id>
<content type='text'>
Per #80143, we can remove the extra line break when there is no
instruction.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Per #80143, we can remove the extra line break when there is no
instruction.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU,test] Change llc -march= to -mtriple= (#75982)</title>
<updated>2024-01-17T05:54:58+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2024-01-17T05:54:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9e9907f1cfa424366fba58d9520f9305b537cec9'/>
<id>9e9907f1cfa424366fba58d9520f9305b537cec9</id>
<content type='text'>
Similar to 806761a7629df268c8aed49657aeccffa6bca449.

For IR files without a target triple, -mtriple= specifies the full
target triple while -march= merely sets the architecture part of the
default target triple, leaving a target triple which may not make sense,
e.g. amdgpu-apple-darwin.

Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
$unknown-apple-darwin as ELF instead of rejecting it outrightly.

This patch changes AMDGPU tests to not rely on the default
OS/environment components. Tests that need fixes are not changed:

```
  LLVM :: CodeGen/AMDGPU/fabs.f64.ll
  LLVM :: CodeGen/AMDGPU/fabs.ll
  LLVM :: CodeGen/AMDGPU/floor.ll
  LLVM :: CodeGen/AMDGPU/fneg-fabs.f64.ll
  LLVM :: CodeGen/AMDGPU/fneg-fabs.ll
  LLVM :: CodeGen/AMDGPU/r600-infinite-loop-bug-while-reorganizing-vector.ll
  LLVM :: CodeGen/AMDGPU/schedule-if-2.ll
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Similar to 806761a7629df268c8aed49657aeccffa6bca449.

For IR files without a target triple, -mtriple= specifies the full
target triple while -march= merely sets the architecture part of the
default target triple, leaving a target triple which may not make sense,
e.g. amdgpu-apple-darwin.

Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
$unknown-apple-darwin as ELF instead of rejecting it outrightly.

This patch changes AMDGPU tests to not rely on the default
OS/environment components. Tests that need fixes are not changed:

```
  LLVM :: CodeGen/AMDGPU/fabs.f64.ll
  LLVM :: CodeGen/AMDGPU/fabs.ll
  LLVM :: CodeGen/AMDGPU/floor.ll
  LLVM :: CodeGen/AMDGPU/fneg-fabs.f64.ll
  LLVM :: CodeGen/AMDGPU/fneg-fabs.ll
  LLVM :: CodeGen/AMDGPU/r600-infinite-loop-bug-while-reorganizing-vector.ll
  LLVM :: CodeGen/AMDGPU/schedule-if-2.ll
```</pre>
</div>
</content>
</entry>
<entry>
<title>llvm-reduce: Don't assert on functions which don't track liveness</title>
<updated>2022-06-07T14:00:25+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2022-04-13T21:26:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=56303223ac7652442fd4bb163b809141553f0067'/>
<id>56303223ac7652442fd4bb163b809141553f0067</id>
<content type='text'>
Use the query that doesn't assert if TracksLiveness isn't set, which
needs to always be available. We also need to start printing liveins
regardless of TracksLiveness.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the query that doesn't assert if TracksLiveness isn't set, which
needs to always be available. We also need to start printing liveins
regardless of TracksLiveness.
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Remove some invalid kill flags in tests</title>
<updated>2022-05-03T23:05:15+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2022-05-02T13:41:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=574ca03ef31fa364d98996406ef8f0ee1deb8dcd'/>
<id>574ca03ef31fa364d98996406ef8f0ee1deb8dcd</id>
<content type='text'>
These killed registers need to be live out of the block but the
verifier wasn't catching it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These killed registers need to be live out of the block but the
verifier wasn't catching it.
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Regenerate test checks</title>
<updated>2022-05-03T23:05:15+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2022-05-02T14:01:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5dfe4b7cf2775ccfc1623f6531783612075f5df0'/>
<id>5dfe4b7cf2775ccfc1623f6531783612075f5df0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Process any power of 2 in optimizeCompareInstr</title>
<updated>2021-09-03T00:39:17+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>Stanislav.Mekhanoshin@amd.com</email>
</author>
<published>2021-09-02T19:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=78fbd1aa3da4da318f6ee8d269f1f4002d19a7ff'/>
<id>78fbd1aa3da4da318f6ee8d269f1f4002d19a7ff</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D109201
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision: https://reviews.llvm.org/D109201
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Fold immediates in the optimizeCompareInstr</title>
<updated>2021-09-03T00:23:26+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>Stanislav.Mekhanoshin@amd.com</email>
</author>
<published>2021-09-02T20:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2cfda6a6912e140bc02f569aa7992deed7b54ea9'/>
<id>2cfda6a6912e140bc02f569aa7992deed7b54ea9</id>
<content type='text'>
Peephole works before the first SIFoldOperands so most of
the immediates are in registers.

Differential Revision: https://reviews.llvm.org/D109186
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Peephole works before the first SIFoldOperands so most of
the immediates are in registers.

Differential Revision: https://reviews.llvm.org/D109186
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Use S_BITCMP0_* to replace AND in optimizeCompareInstr</title>
<updated>2021-09-02T16:38:01+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>Stanislav.Mekhanoshin@amd.com</email>
</author>
<published>2021-09-01T20:38:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=832c87b4fbc820590704eaf02572dff762650a98'/>
<id>832c87b4fbc820590704eaf02572dff762650a98</id>
<content type='text'>
These can be used for reversed conditions if result of the AND
is unused except in the compare:

s_cmp_eq_u32 (s_and_b32 $src, 1), 0 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_eq_i32 (s_and_b32 $src, 1), 0 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_eq_u64 (s_and_b64 $src, 1), 0 =&gt; s_bitcmp0_b64 $src, 0
s_cmp_lg_u32 (s_and_b32 $src, 1), 1 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_lg_i32 (s_and_b32 $src, 1), 1 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_lg_u64 (s_and_b64 $src, 1), 1 =&gt; s_bitcmp0_b64 $src, 0

Differential Revision: https://reviews.llvm.org/D109099
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These can be used for reversed conditions if result of the AND
is unused except in the compare:

s_cmp_eq_u32 (s_and_b32 $src, 1), 0 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_eq_i32 (s_and_b32 $src, 1), 0 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_eq_u64 (s_and_b64 $src, 1), 0 =&gt; s_bitcmp0_b64 $src, 0
s_cmp_lg_u32 (s_and_b32 $src, 1), 1 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_lg_i32 (s_and_b32 $src, 1), 1 =&gt; s_bitcmp0_b32 $src, 0
s_cmp_lg_u64 (s_and_b64 $src, 1), 1 =&gt; s_bitcmp0_b64 $src, 0

Differential Revision: https://reviews.llvm.org/D109099
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Use S_BITCMP1_* to replace AND in optimizeCompareInstr</title>
<updated>2021-09-01T22:59:12+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>Stanislav.Mekhanoshin@amd.com</email>
</author>
<published>2021-09-01T18:40:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f3645c792a65454bb0e9a09236ad13de1e1bbaad'/>
<id>f3645c792a65454bb0e9a09236ad13de1e1bbaad</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D109082
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision: https://reviews.llvm.org/D109082
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Introduce optimizeCompareInstr</title>
<updated>2021-09-01T22:57:05+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>Stanislav.Mekhanoshin@amd.com</email>
</author>
<published>2021-08-31T22:10:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bf77b11277411f6725cf09a66feb36d2c14bc8a7'/>
<id>bf77b11277411f6725cf09a66feb36d2c14bc8a7</id>
<content type='text'>
The following patterns are currently handled:

s_cmp_eq_u32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_eq_i32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_eq_u64 (s_and_b64 $src, 1), 1 =&gt; s_and_b64 $src, 1
s_cmp_ge_u32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_ge_i32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_lg_u32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1
s_cmp_lg_i32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1
s_cmp_lg_u64 (s_and_b64 $src, 1), 0 =&gt; s_and_b64 $src, 1
s_cmp_gt_u32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1
s_cmp_gt_i32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1

Differential Revision: https://reviews.llvm.org/D109031
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following patterns are currently handled:

s_cmp_eq_u32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_eq_i32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_eq_u64 (s_and_b64 $src, 1), 1 =&gt; s_and_b64 $src, 1
s_cmp_ge_u32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_ge_i32 (s_and_b32 $src, 1), 1 =&gt; s_and_b32 $src, 1
s_cmp_lg_u32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1
s_cmp_lg_i32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1
s_cmp_lg_u64 (s_and_b64 $src, 1), 0 =&gt; s_and_b64 $src, 1
s_cmp_gt_u32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1
s_cmp_gt_i32 (s_and_b32 $src, 1), 0 =&gt; s_and_b32 $src, 1

Differential Revision: https://reviews.llvm.org/D109031
</pre>
</div>
</content>
</entry>
</feed>
