<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/Transforms/LoopVectorize/SystemZ/addressing.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>[InstCombine] Handle "add like" in ADD+GEP-&gt;GEP+GEP rewrites (#135156)</title>
<updated>2025-04-14T15:11:13+00:00</updated>
<author>
<name>Björn Pettersson</name>
<email>bjorn.a.pettersson@ericsson.com</email>
</author>
<published>2025-04-14T15:11:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=092b6e73e651469527662443b592f98f442ece72'/>
<id>092b6e73e651469527662443b592f98f442ece72</id>
<content type='text'>
Considering that "or disjoint" is the canonical for certain add
operations, then I think we want to support such "add like" operations
when doing ADD+GEP-&gt;GEP+GEP rewrites to make things more consistent.

Problem was found when improving ValueTracking, which turned an ADD into
OR, and then suddenly optimizations got worse due to these rewrites no
longer triggering.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Considering that "or disjoint" is the canonical for certain add
operations, then I think we want to support such "add like" operations
when doing ADD+GEP-&gt;GEP+GEP rewrites to make things more consistent.

Problem was found when improving ValueTracking, which turned an ADD into
OR, and then suddenly optimizations got worse due to these rewrites no
longer triggering.</pre>
</div>
</content>
</entry>
<entry>
<title>[InstCombine] Canonicalize non-i8 gep of mul to i8 (#96606)</title>
<updated>2024-06-26T13:25:54+00:00</updated>
<author>
<name>David Green</name>
<email>david.green@arm.com</email>
</author>
<published>2024-06-26T13:25:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=352a836176b25abfdc26ddc5ddbd18288715a794'/>
<id>352a836176b25abfdc26ddc5ddbd18288715a794</id>
<content type='text'>
This is a small canonicalization for `gep i32, p, (mul x, C)` -&gt; `gep
i8, p, (mul x, C*4)`, so that the mul can combine both of the constant
multiplications, and we take a small step towards canonicalizing more
geps to i8.

It currently doesn't attempt to check for multiple uses on the mul, but
that should be possible if it sounds better. Let me know what you think
of the idea in general.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a small canonicalization for `gep i32, p, (mul x, C)` -&gt; `gep
i8, p, (mul x, C*4)`, so that the mul can combine both of the constant
multiplications, and we take a small step towards canonicalizing more
geps to i8.

It currently doesn't attempt to check for multiple uses on the mul, but
that should be possible if it sounds better. Let me know what you think
of the idea in general.</pre>
</div>
</content>
</entry>
<entry>
<title>[InstCombine] Infer disjoint flag on Or instructions. (#72912)</title>
<updated>2023-12-02T22:11:12+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2023-12-02T22:11:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7ec4f6094e54911794c142b5d88496a220d807d6'/>
<id>7ec4f6094e54911794c142b5d88496a220d807d6</id>
<content type='text'>
The disjoint flag was recently added to IR in #72583

We already set it when we turn an add into an or. This patch sets it on Ors that weren't converted from an Add.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The disjoint flag was recently added to IR in #72583

We already set it when we turn an add into an or. This patch sets it on Ors that weren't converted from an Add.</pre>
</div>
</content>
</entry>
<entry>
<title>[InstCombine] Set disjoint flag when turning Add into Or. (#72702)</title>
<updated>2023-11-27T20:54:11+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2023-11-27T20:54:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=03d4a9d94da30590ebfc444cf13a8763f47b7bb9'/>
<id>03d4a9d94da30590ebfc444cf13a8763f47b7bb9</id>
<content type='text'>
The disjoint flag was recently added to IR in #72583 </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The disjoint flag was recently added to IR in #72583 </pre>
</div>
</content>
</entry>
<entry>
<title>[LoopVectorize] Convert some tests to opaque pointers (NFC)</title>
<updated>2022-12-14T14:16:59+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-12-14T14:15:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d7577256b76e4293f455b8093504d5f7044ab4b'/>
<id>7d7577256b76e4293f455b8093504d5f7044ab4b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Port all runlines for LoopVectorize pass tests to -passes syntax</title>
<updated>2022-12-05T19:17:30+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-12-05T18:44:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=be51fa4580b3274d35cc77bedb238a9ad5fb04bc'/>
<id>be51fa4580b3274d35cc77bedb238a9ad5fb04bc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix tests for commit 9df0b254d24eca098</title>
<updated>2022-07-23T21:32:30+00:00</updated>
<author>
<name>Nuno Lopes</name>
<email>nuno.lopes@tecnico.ulisboa.pt</email>
</author>
<published>2022-07-23T21:32:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a30e77b6f6838e7811973ff931c651a141d91701'/>
<id>a30e77b6f6838e7811973ff931c651a141d91701</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[instcombine] Canonicalize constant index type to i64 for extractelement/insertelement</title>
<updated>2021-12-14T00:56:22+00:00</updated>
<author>
<name>Philip Reames</name>
<email>listmail@philipreames.com</email>
</author>
<published>2021-12-14T00:29:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e6ad9ef4e7ae6506e822c9ccf9a960354173210b'/>
<id>e6ad9ef4e7ae6506e822c9ccf9a960354173210b</id>
<content type='text'>
The basic idea to this is that a) having a single canonical type makes CSE easier, and b) many of our transforms are inconsistent about which types we end up with based on visit order.

I'm restricting this to constants as for non-constants, we'd have to decide whether the simplicity was worth extra instructions. For constants, there are no extra instructions.

We chose the canonical type as i64 arbitrarily.  We might consider changing this to something else in the future if we have cause.

Differential Revision: https://reviews.llvm.org/D115387
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The basic idea to this is that a) having a single canonical type makes CSE easier, and b) many of our transforms are inconsistent about which types we end up with based on visit order.

I'm restricting this to constants as for non-constants, we'd have to decide whether the simplicity was worth extra instructions. For constants, there are no extra instructions.

We chose the canonical type as i64 arbitrarily.  We might consider changing this to something else in the future if we have cause.

Differential Revision: https://reviews.llvm.org/D115387
</pre>
</div>
</content>
</entry>
<entry>
<title>Autogen a bunch of instcombine and vectorizer tests</title>
<updated>2021-12-13T18:41:38+00:00</updated>
<author>
<name>Philip Reames</name>
<email>listmail@philipreames.com</email>
</author>
<published>2021-12-13T18:07:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1a18de3d0a253abf909a3d26229dd9aebf985ec9'/>
<id>1a18de3d0a253abf909a3d26229dd9aebf985ec9</id>
<content type='text'>
Done in advance of D115387.  These are all the ones which my local script could handle, there's a couple more which need manual updates.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Done in advance of D115387.  These are all the ones which my local script could handle, there's a couple more which need manual updates.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SLP,LV] Use poison constant vector for shufflevector/initial insertelement</title>
<updated>2021-01-06T02:22:50+00:00</updated>
<author>
<name>Juneyoung Lee</name>
<email>aqjune@gmail.com</email>
</author>
<published>2021-01-05T05:11:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4a8e6ed2f795b78061b02899aed4642bdb9cdc7e'/>
<id>4a8e6ed2f795b78061b02899aed4642bdb9cdc7e</id>
<content type='text'>
This patch makes SLP and LV emit operations with initial vectors set to poison constant instead of undef.
This is a part of efforts for using poison vector instead of undef to represent "doesn't care" vector.
The goal is to make nice shufflevector optimizations valid that is currently incorrect due to the tricky interaction between undef and poison (see https://bugs.llvm.org/show_bug.cgi?id=44185 ).

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D94061
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch makes SLP and LV emit operations with initial vectors set to poison constant instead of undef.
This is a part of efforts for using poison vector instead of undef to represent "doesn't care" vector.
The goal is to make nice shufflevector optimizations valid that is currently incorrect due to the tricky interaction between undef and poison (see https://bugs.llvm.org/show_bug.cgi?id=44185 ).

Reviewed By: fhahn

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