<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/AMDGPU/ds_read2_offset_order.ll, 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>AMDGPU: Replace undef global initializers in tests with poison (#131051)</title>
<updated>2025-03-13T06:41:03+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-03-13T06:41:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=26ae98c4d73d13f973eeb8450e0f5c7d1cd25993'/>
<id>26ae98c4d73d13f973eeb8450e0f5c7d1cd25993</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>[AMDGPU] Convert some tests to opaque pointers (NFC)</title>
<updated>2022-12-19T11:41:13+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-12-19T11:39:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bdf2fbba9cee60b4b260ff17e4f44c475c11e715'/>
<id>bdf2fbba9cee60b4b260ff17e4f44c475c11e715</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Increase alignment of LDS globals if necessary before LDS lowering.</title>
<updated>2021-06-07T12:30:41+00:00</updated>
<author>
<name>hsmahesha</name>
<email>mahesha.comp@gmail.com</email>
</author>
<published>2021-06-07T11:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=52ffbfdffc240085fc6ac39cff2f98e66458171f'/>
<id>52ffbfdffc240085fc6ac39cff2f98e66458171f</id>
<content type='text'>
Before packing LDS globals into a sorted structure, make sure that
their alignment is properly updated based on their size. This will make
sure that the members of sorted structure are properly aligned, and
hence it will further reduce the probability of unaligned LDS access.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103261
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before packing LDS globals into a sorted structure, make sure that
their alignment is properly updated based on their size. This will make
sure that the members of sorted structure are properly aligned, and
hence it will further reduce the probability of unaligned LDS access.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103261
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[AMDGPU] Increase alignment of LDS globals if necessary before LDS lowering."</title>
<updated>2021-06-04T05:46:46+00:00</updated>
<author>
<name>hsmahesha</name>
<email>mahesha.comp@gmail.com</email>
</author>
<published>2021-06-04T05:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=753437fc1db357499109bf8a14fca2dc4d88eb11'/>
<id>753437fc1db357499109bf8a14fca2dc4d88eb11</id>
<content type='text'>
This reverts commit d71ff907ef23eaef86ad66ba2d711e4986cd6cb2.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit d71ff907ef23eaef86ad66ba2d711e4986cd6cb2.
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Increase alignment of LDS globals if necessary before LDS lowering.</title>
<updated>2021-06-04T04:04:37+00:00</updated>
<author>
<name>hsmahesha</name>
<email>mahesha.comp@gmail.com</email>
</author>
<published>2021-06-04T04:04:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d71ff907ef23eaef86ad66ba2d711e4986cd6cb2'/>
<id>d71ff907ef23eaef86ad66ba2d711e4986cd6cb2</id>
<content type='text'>
Before packing LDS globals into a sorted structure, make sure that
their alignment is properly updated based on their size. This will make
sure that the members of sorted structure are properly aligned, and
hence it will further reduce the probability of unaligned LDS access.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103261
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before packing LDS globals into a sorted structure, make sure that
their alignment is properly updated based on their size. This will make
sure that the members of sorted structure are properly aligned, and
hence it will further reduce the probability of unaligned LDS access.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103261
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU/SILoadStoreOptimizer: Improve merging of out of order offsets</title>
<updated>2020-01-25T03:45:56+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>tstellar@redhat.com</email>
</author>
<published>2020-01-24T21:07:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=86c944d790728891801778b8d98c2c65a83f36a5'/>
<id>86c944d790728891801778b8d98c2c65a83f36a5</id>
<content type='text'>
Summary:
This improves merging of sequences like:

store a, ptr + 4
store b, ptr + 8
store c, ptr + 12
store d, ptr + 16
store e, ptr + 20
store f, ptr

Prior to this patch the basic block was scanned in order to find instructions
to merge and the above sequence would be transformed to:

store4 &lt;a, b, c, d&gt;, ptr + 4
store e, ptr + 20
store r, ptr

With this change, we now sort all the candidate merge instructions by their offset,
so instructions are visited in offset order rather than in the order they appear
in the basic block.  We now transform this sequnce into:

store4 &lt;f, a, b, c&gt;, ptr
store2 &lt;d, e&gt;, ptr + 16

Another benefit of this change is that since we have sorted the mergeable lists
by offset, we can easily check if an instruction is mergeable by checking the
offset of the instruction that becomes before or after it in the sorted list.
Once we determine an instruction is not mergeable we can remove it from the list
and avoid having to do the more expensive mergeablilty checks.

Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin

Reviewed By: arsenm, nhaehnle

Subscribers: kerbowa, merge_guards_bot, kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65966
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
This improves merging of sequences like:

store a, ptr + 4
store b, ptr + 8
store c, ptr + 12
store d, ptr + 16
store e, ptr + 20
store f, ptr

Prior to this patch the basic block was scanned in order to find instructions
to merge and the above sequence would be transformed to:

store4 &lt;a, b, c, d&gt;, ptr + 4
store e, ptr + 20
store r, ptr

With this change, we now sort all the candidate merge instructions by their offset,
so instructions are visited in offset order rather than in the order they appear
in the basic block.  We now transform this sequnce into:

store4 &lt;f, a, b, c&gt;, ptr
store2 &lt;d, e&gt;, ptr + 16

Another benefit of this change is that since we have sorted the mergeable lists
by offset, we can easily check if an instruction is mergeable by checking the
offset of the instruction that becomes before or after it in the sorted list.
Once we determine an instruction is not mergeable we can remove it from the list
and avoid having to do the more expensive mergeablilty checks.

Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin

Reviewed By: arsenm, nhaehnle

Subscribers: kerbowa, merge_guards_bot, kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65966
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernel</title>
<updated>2017-03-21T21:39:51+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2017-03-21T21:39:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3dbeefa978fb7e7b231b249f9cd90c67b9e83277'/>
<id>3dbeefa978fb7e7b231b249f9cd90c67b9e83277</id>
<content type='text'>
Currently the default C calling convention functions are treated
the same as compute kernels. Make this explicit so the default
calling convention can be changed to a non-kernel.

Converted with perl -pi -e 's/define void/define amdgpu_kernel void/'
on the relevant test directories (and undoing in one place that actually
wanted a non-kernel).

llvm-svn: 298444
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the default C calling convention functions are treated
the same as compute kernels. Make this explicit so the default
calling convention can be changed to a non-kernel.

Converted with perl -pi -e 's/define void/define amdgpu_kernel void/'
on the relevant test directories (and undoing in one place that actually
wanted a non-kernel).

llvm-svn: 298444
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Run LoadStoreVectorizer pass by default</title>
<updated>2016-09-09T22:29:28+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2016-09-09T22:29:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0efdd06b22e697ae072bbe76071cb53b8ffb1ee0'/>
<id>0efdd06b22e697ae072bbe76071cb53b8ffb1ee0</id>
<content type='text'>
llvm-svn: 281112
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 281112
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU/SI: Implement a custom MachineSchedStrategy</title>
<updated>2016-08-29T19:42:52+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>thomas.stellard@amd.com</email>
</author>
<published>2016-08-29T19:42:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0d23ebe8883af4b280897af751614c7b433e00f7'/>
<id>0d23ebe8883af4b280897af751614c7b433e00f7</id>
<content type='text'>
Summary:
GCNSchedStrategy re-uses most of GenericScheduler, it's just uses
a different method to compute the excess and critical register
pressure limits.

It's not enabled by default, to enable it you need to pass -misched=gcn
to llc.

Shader DB stats:

32464 shaders in 17874 tests
Totals:
SGPRS: 1542846 -&gt; 1643125 (6.50 %)
VGPRS: 1005595 -&gt; 904653 (-10.04 %)
Spilled SGPRs: 29929 -&gt; 27745 (-7.30 %)
Spilled VGPRs: 334 -&gt; 352 (5.39 %)
Scratch VGPRs: 1612 -&gt; 1624 (0.74 %) dwords per thread
Code Size: 36688188 -&gt; 37034900 (0.95 %) bytes
LDS: 1913 -&gt; 1913 (0.00 %) blocks
Max Waves: 254101 -&gt; 265125 (4.34 %)
Wait states: 0 -&gt; 0 (0.00 %)

Totals from affected shaders:
SGPRS: 1338220 -&gt; 1438499 (7.49 %)
VGPRS: 886221 -&gt; 785279 (-11.39 %)
Spilled SGPRs: 29869 -&gt; 27685 (-7.31 %)
Spilled VGPRs: 334 -&gt; 352 (5.39 %)
Scratch VGPRs: 1612 -&gt; 1624 (0.74 %) dwords per thread
Code Size: 34315716 -&gt; 34662428 (1.01 %) bytes
LDS: 1551 -&gt; 1551 (0.00 %) blocks
Max Waves: 188127 -&gt; 199151 (5.86 %)
Wait states: 0 -&gt; 0 (0.00 %)

Reviewers: arsenm, mareko, nhaehnle, MatzeB, atrick

Subscribers: arsenm, kzhuravl, llvm-commits

Differential Revision: https://reviews.llvm.org/D23688

llvm-svn: 279995
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
GCNSchedStrategy re-uses most of GenericScheduler, it's just uses
a different method to compute the excess and critical register
pressure limits.

It's not enabled by default, to enable it you need to pass -misched=gcn
to llc.

Shader DB stats:

32464 shaders in 17874 tests
Totals:
SGPRS: 1542846 -&gt; 1643125 (6.50 %)
VGPRS: 1005595 -&gt; 904653 (-10.04 %)
Spilled SGPRs: 29929 -&gt; 27745 (-7.30 %)
Spilled VGPRs: 334 -&gt; 352 (5.39 %)
Scratch VGPRs: 1612 -&gt; 1624 (0.74 %) dwords per thread
Code Size: 36688188 -&gt; 37034900 (0.95 %) bytes
LDS: 1913 -&gt; 1913 (0.00 %) blocks
Max Waves: 254101 -&gt; 265125 (4.34 %)
Wait states: 0 -&gt; 0 (0.00 %)

Totals from affected shaders:
SGPRS: 1338220 -&gt; 1438499 (7.49 %)
VGPRS: 886221 -&gt; 785279 (-11.39 %)
Spilled SGPRs: 29869 -&gt; 27685 (-7.31 %)
Spilled VGPRs: 334 -&gt; 352 (5.39 %)
Scratch VGPRs: 1612 -&gt; 1624 (0.74 %) dwords per thread
Code Size: 34315716 -&gt; 34662428 (1.01 %) bytes
LDS: 1551 -&gt; 1551 (0.00 %) blocks
Max Waves: 188127 -&gt; 199151 (5.86 %)
Wait states: 0 -&gt; 0 (0.00 %)

Reviewers: arsenm, mareko, nhaehnle, MatzeB, atrick

Subscribers: arsenm, kzhuravl, llvm-commits

Differential Revision: https://reviews.llvm.org/D23688

llvm-svn: 279995
</pre>
</div>
</content>
</entry>
</feed>
