<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.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>Re apply 130577 narrow math for and operand (#133896)</title>
<updated>2025-04-17T09:03:32+00:00</updated>
<author>
<name>Shoreshen</name>
<email>372660931@qq.com</email>
</author>
<published>2025-04-17T09:03:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=121cd7c6f0270540ce976b98061ba765edc1675d'/>
<id>121cd7c6f0270540ce976b98061ba765edc1675d</id>
<content type='text'>
Re-apply https://github.com/llvm/llvm-project/pull/130577

Which is reverted in https://github.com/llvm/llvm-project/pull/133880

The old application failed in address sanitizer due to
`tryNarrowMathIfNoOverflow` was called after `I.eraseFromParent();` in
`AMDGPUCodeGenPrepareImpl::visitBinaryOperator`, it create a use after
free failure.

To fix this, `tryNarrowMathIfNoOverflow` will be called before and
directly return if `tryNarrowMathIfNoOverflow` result in true.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Re-apply https://github.com/llvm/llvm-project/pull/130577

Which is reverted in https://github.com/llvm/llvm-project/pull/133880

The old application failed in address sanitizer due to
`tryNarrowMathIfNoOverflow` was called after `I.eraseFromParent();` in
`AMDGPUCodeGenPrepareImpl::visitBinaryOperator`, it create a use after
free failure.

To fix this, `tryNarrowMathIfNoOverflow` will be called before and
directly return if `tryNarrowMathIfNoOverflow` result in true.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable" (#133880)</title>
<updated>2025-04-01T09:37:02+00:00</updated>
<author>
<name>Shoreshen</name>
<email>372660931@qq.com</email>
</author>
<published>2025-04-01T09:37:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc'/>
<id>7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc</id>
<content type='text'>
Reverts llvm/llvm-project#130577</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#130577</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable (#130577)</title>
<updated>2025-04-01T03:18:17+00:00</updated>
<author>
<name>Shoreshen</name>
<email>372660931@qq.com</email>
</author>
<published>2025-04-01T03:18:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=145b4a39504b88a695f1f85f4d9da991bb9a2656'/>
<id>145b4a39504b88a695f1f85f4d9da991bb9a2656</id>
<content type='text'>
For Add, Sub, Mul with Int64 type, if profitable, then do:
1. Trunc operands to Int32 type
2. Apply 32 bit Add/Sub/Mul
3. Zext to Int64 type</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For Add, Sub, Mul with Int64 type, if profitable, then do:
1. Trunc operands to Int32 type
2. Apply 32 bit Add/Sub/Mul
3. Zext to Int64 type</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][IR] Use splat syntax when printing Constant[Data]Vector. (#112548)</title>
<updated>2024-11-06T11:53:33+00:00</updated>
<author>
<name>Paul Walker</name>
<email>paul.walker@arm.com</email>
</author>
<published>2024-11-06T11:53:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=38fffa630ee80163dc65e759392ad29798905679'/>
<id>38fffa630ee80163dc65e759392ad29798905679</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Don't create mulhi_24 in CGP (#72983)</title>
<updated>2023-11-30T07:26:45+00:00</updated>
<author>
<name>Pierre van Houtryve</name>
<email>pierre.vanhoutryve@amd.com</email>
</author>
<published>2023-11-30T07:26:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8a66510fa73c1507c2a58338e180ddb075993a5a'/>
<id>8a66510fa73c1507c2a58338e180ddb075993a5a</id>
<content type='text'>
Instead, create a mul24 with a 64 bit result and let ISel take care of
it.

This allows patterns to simply match mul24 even for 64-bit muls instead of having to match both mul/mulhi and a buildvector/bitconvert/etc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead, create a mul24 with a 64 bit result and let ISel take care of
it.

This allows patterns to simply match mul24 even for 64-bit muls instead of having to match both mul/mulhi and a buildvector/bitconvert/etc.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPUCodegenPrepare] Add NewPM Support</title>
<updated>2023-05-26T06:20:01+00:00</updated>
<author>
<name>Anshil Gandhi</name>
<email>gandhi21299@gmail.com</email>
</author>
<published>2023-05-24T16:37:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a22ef958cb7e62b6e92e5d737a17560d6a1d504f'/>
<id>a22ef958cb7e62b6e92e5d737a17560d6a1d504f</id>
<content type='text'>
Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D151241
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D151241
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Create poison values instead of undef</title>
<updated>2022-11-16T22:47:24+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2022-11-16T21:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3830e4e58cd72566aee1d412054667ad51470b25'/>
<id>3830e4e58cd72566aee1d412054667ad51470b25</id>
<content type='text'>
These placeholders don't care about the finer points on
the difference between the two.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These placeholders don't care about the finer points on
the difference between the two.
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Fix assertion on &lt;1 x i16&gt; vectors</title>
<updated>2022-10-13T00:25:24+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2022-10-12T22:27:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=838fd611b79e3514eead5dd724140df046172ef1'/>
<id>838fd611b79e3514eead5dd724140df046172ef1</id>
<content type='text'>
Fixes issue 58331.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes issue 58331.
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Fix rhs of the tests in amdgpu-codegenprepare-mul24.ll.</title>
<updated>2021-10-28T11:27:48+00:00</updated>
<author>
<name>Abinav Puthan Purayil</name>
<email>abinav.puthanpurayil@amd.com</email>
</author>
<published>2021-10-28T01:33:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9f8e779b42115216f347fbfc6733077b8d6ae1c5'/>
<id>9f8e779b42115216f347fbfc6733077b8d6ae1c5</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D112685
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision: https://reviews.llvm.org/D112685
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Enable 48-bit mul in AMDGPUCodeGenPrepare.</title>
<updated>2021-10-26T13:23:07+00:00</updated>
<author>
<name>Abinav Puthan Purayil</name>
<email>abinav.puthanpurayil@amd.com</email>
</author>
<published>2021-10-23T15:35:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=781dd39b7b6d6a3afecf7097c4fa51e194cac057'/>
<id>781dd39b7b6d6a3afecf7097c4fa51e194cac057</id>
<content type='text'>
We were bailing out of creating 24-bit muls for results wider than 32
bits in AMDGPUCodeGenPrepare. With the 24-bit mulhi intrinsic, this
change teaches AMDGPUCodeGenPrepare to generate the 48-bit mul
correctly.

Differential Revision: https://reviews.llvm.org/D112395
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We were bailing out of creating 24-bit muls for results wider than 32
bits in AMDGPUCodeGenPrepare. With the 24-bit mulhi intrinsic, this
change teaches AMDGPUCodeGenPrepare to generate the 48-bit mul
correctly.

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