<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp, 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>[GlobalISel] Allow expansion of urem by constant in prelegalizer (#145914)</title>
<updated>2025-07-02T12:46:36+00:00</updated>
<author>
<name>jyli0116</name>
<email>yu.li@arm.com</email>
</author>
<published>2025-07-02T12:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9c0743fbc5ba38ae5f66444d144d314326dc8468'/>
<id>9c0743fbc5ba38ae5f66444d144d314326dc8468</id>
<content type='text'>
This patch allows urem by a constant to be expanded more efficiently to
avoid the need for expensive udiv instructions. This is part of the
resolution to issue #118090</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch allows urem by a constant to be expanded more efficiently to
avoid the need for expensive udiv instructions. This is part of the
resolution to issue #118090</pre>
</div>
</content>
</entry>
<entry>
<title>[GlobalISel] Use-Vector-Truncate Opt Needs Elt Type Check (#146003)</title>
<updated>2025-06-27T07:41:22+00:00</updated>
<author>
<name>Daniel Man</name>
<email>man.daniel.dev@gmail.com</email>
</author>
<published>2025-06-27T07:41:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=045b82736702799f7f56da2f98a3fa1f2fae8d46'/>
<id>045b82736702799f7f56da2f98a3fa1f2fae8d46</id>
<content type='text'>
In the pre-legalizer combiner, there exists a bug with UseVectorTruncate
match-apply optimization. When the destinations' types do not match the
vector element type of the G_UNMERGE_VALUES instruction, the resulting
collapsed truncate does not preserve original functional behavior. This
commit introduces a simple type check to ensure that the destination
types match the vector element type.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the pre-legalizer combiner, there exists a bug with UseVectorTruncate
match-apply optimization. When the destinations' types do not match the
vector element type of the G_UNMERGE_VALUES instruction, the resulting
collapsed truncate does not preserve original functional behavior. This
commit introduces a simple type check to ensure that the destination
types match the vector element type.</pre>
</div>
</content>
</entry>
<entry>
<title>[GISel] Fix ShuffleVector assert (#139769)</title>
<updated>2025-05-21T01:25:31+00:00</updated>
<author>
<name>Alan Li</name>
<email>me@alanli.org</email>
</author>
<published>2025-05-21T01:25:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ada2fbfe36c83cc7c575da70b7eae8c12483f758'/>
<id>ada2fbfe36c83cc7c575da70b7eae8c12483f758</id>
<content type='text'>
Fixes issue: https://github.com/llvm/llvm-project/issues/139752

When G_SHUFFLE_VECTOR has only 1 element then it is possible the vector
is decayed into a scalar.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes issue: https://github.com/llvm/llvm-project/issues/139752

When G_SHUFFLE_VECTOR has only 1 element then it is possible the vector
is decayed into a scalar.</pre>
</div>
</content>
</entry>
<entry>
<title>[GlobalISel] Clear nsw flags when converting sub to add. (#137288)</title>
<updated>2025-04-26T10:00:53+00:00</updated>
<author>
<name>David Green</name>
<email>david.green@arm.com</email>
</author>
<published>2025-04-26T10:00:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b9e32749d273a957e60170d6e7ef205fd1fb1834'/>
<id>b9e32749d273a957e60170d6e7ef205fd1fb1834</id>
<content type='text'>
As shown in https://alive2.llvm.org/ce/z/PVwcTL we need to clear the nsw
flags too when converting a sub to a add if the constant is INT_MIN.

Fixes #137254</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As shown in https://alive2.llvm.org/ce/z/PVwcTL we need to clear the nsw
flags too when converting a sub to a add if the constant is INT_MIN.

Fixes #137254</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] Construct SmallVector with iterator ranges (NFC) (#136258)</title>
<updated>2025-04-18T17:26:48+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-04-18T17:26:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=58774f1b1f98402c8d62cdde01c1adea067aaf96'/>
<id>58774f1b1f98402c8d62cdde01c1adea067aaf96</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[GISel][AMDGPU] Expand ShuffleVector (#124527)</title>
<updated>2025-04-10T00:51:24+00:00</updated>
<author>
<name>Alan Li</name>
<email>me@alanli.org</email>
</author>
<published>2025-04-10T00:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2795abb2f8c71a6f00371b49d49829efe2814b0d'/>
<id>2795abb2f8c71a6f00371b49d49829efe2814b0d</id>
<content type='text'>
This patch dismantles G_SHUFFLE_VECTOR before lowering. The original
lowering would emit extract vector element ops. We found that by using
unmerged values the build vector op combine could find ways to fold.

Only enabled on AMDGPU.

This resolves #123631</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch dismantles G_SHUFFLE_VECTOR before lowering. The original
lowering would emit extract vector element ops. We found that by using
unmerged values the build vector op combine could find ways to fold.

Only enabled on AMDGPU.

This resolves #123631</pre>
</div>
</content>
</entry>
<entry>
<title>[GlobalISel] Fix dangling reference in CombinerHelper::matchCombineExtractedVectorLoad</title>
<updated>2025-04-07T13:04:36+00:00</updated>
<author>
<name>Krisztian Rugasi</name>
<email>Krisztian.Rugasi@hightec-rt.com</email>
</author>
<published>2025-04-04T10:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=382962b4a848f66cddbd7d04f6d613fe93a3f125'/>
<id>382962b4a848f66cddbd7d04f6d613fe93a3f125</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[GlobalISel][NFC] Rename GISelKnownBits to GISelValueTracking (#133466)</title>
<updated>2025-03-29T10:51:29+00:00</updated>
<author>
<name>Tim Gymnich</name>
<email>tim@gymni.ch</email>
</author>
<published>2025-03-29T10:51:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1d0005a69ac812ea0ff069052daf4c2ea0242a48'/>
<id>1d0005a69ac812ea0ff069052daf4c2ea0242a48</id>
<content type='text'>
- rename `GISelKnownBits` to `GISelValueTracking` to analyze more than
just `KnownBits` in the future</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- rename `GISelKnownBits` to `GISelValueTracking` to analyze more than
just `KnownBits` in the future</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Add identity_combines to RegBankCombiner (#131305)</title>
<updated>2025-03-17T09:11:28+00:00</updated>
<author>
<name>Pierre van Houtryve</name>
<email>pierre.vanhoutryve@amd.com</email>
</author>
<published>2025-03-17T09:11:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7dcea28bf92e49737fa285e93621cfa814323524'/>
<id>7dcea28bf92e49737fa285e93621cfa814323524</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[GlobalISel] Check whether `G_CTLZ` is legal in `matchUMulHToLShr` (#126457)</title>
<updated>2025-02-10T05:11:09+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-02-10T05:11:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=70fdd9f0a24154b63169c66aff1ddc4507db6034'/>
<id>70fdd9f0a24154b63169c66aff1ddc4507db6034</id>
<content type='text'>
We need to check `G_CTLZ` because the combine uses `G_CTLZ` to get log
base 2,
and it is not always legal for on a target.

Fixes SWDEV-512440.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to check `G_CTLZ` because the combine uses `G_CTLZ` to get log
base 2,
and it is not always legal for on a target.

Fixes SWDEV-512440.</pre>
</div>
</content>
</entry>
</feed>
