<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git, branch users/SamTebbs33/bundle-constant-mul</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>[LV] Bundle (partial) reductions with a mul of a constant</title>
<updated>2025-10-08T16:02:30+00:00</updated>
<author>
<name>Samuel Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-10-08T14:53:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2b6bdb685c8e54555cda65dc1ddd9f07ba8ef9a0'/>
<id>2b6bdb685c8e54555cda65dc1ddd9f07ba8ef9a0</id>
<content type='text'>
A reduction (including partial reductions) with a multiply of a constant value can be bundled
by first converting it from `reduce.add(mul(ext, const))` to
`reduce.add(mul(ext, ext(const)))` as long as it is safe to extend the
constant.

This PR adds such bundling by first truncating the constant to the
source type of the other extend, then extending it to the destination
type of the extend. The first truncate is necessary so that the types of
each extend's operand are then the same, and the call to
canConstantBeExtended proves that the extend following a truncate is
safe to do. The truncate is removed by optimisations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A reduction (including partial reductions) with a multiply of a constant value can be bundled
by first converting it from `reduce.add(mul(ext, const))` to
`reduce.add(mul(ext, ext(const)))` as long as it is safe to extend the
constant.

This PR adds such bundling by first truncating the constant to the
source type of the other extend, then extending it to the destination
type of the extend. The first truncate is necessary so that the types of
each extend's operand are then the same, and the call to
canConstantBeExtended proves that the extend following a truncate is
safe to do. The truncate is removed by optimisations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rebase</title>
<updated>2025-10-07T12:04:42+00:00</updated>
<author>
<name>Samuel Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-10-07T09:44:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d63425185ddb6c8ae7adce6f8957c99d60066d38'/>
<id>d63425185ddb6c8ae7adce6f8957c99d60066d38</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add wasm test and assert on the partial reduction cost</title>
<updated>2025-10-07T09:19:42+00:00</updated>
<author>
<name>Sam Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-10-06T10:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=527bbbfc787b08298082a8815398c700eaa4a5c2'/>
<id>527bbbfc787b08298082a8815398c700eaa4a5c2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix webasm test and address review</title>
<updated>2025-10-07T09:19:40+00:00</updated>
<author>
<name>Samuel Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-10-02T12:20:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fa6660d52f2ddbc0a54246b050a6cc3c2b33ca7c'/>
<id>fa6660d52f2ddbc0a54246b050a6cc3c2b33ca7c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rebase and move IsPartialReduction check</title>
<updated>2025-10-07T09:18:35+00:00</updated>
<author>
<name>Samuel Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-10-02T10:35:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f9d4b8ba1248bbb621142a2ba115c73644006ace'/>
<id>f9d4b8ba1248bbb621142a2ba115c73644006ace</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjust regpressure test</title>
<updated>2025-10-07T09:18:34+00:00</updated>
<author>
<name>Sam Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-09-22T14:20:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=281a307e2bafebdd885dcd6f6f57b996fb1946e1'/>
<id>281a307e2bafebdd885dcd6f6f57b996fb1946e1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>rebase</title>
<updated>2025-10-07T09:18:33+00:00</updated>
<author>
<name>Sam Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-09-22T10:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=43b1b6a1820fc0ec78783ac9879e4a5ec8167016'/>
<id>43b1b6a1820fc0ec78783ac9879e4a5ec8167016</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support chained sub/add partial reductions</title>
<updated>2025-10-07T09:18:33+00:00</updated>
<author>
<name>Samuel Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-09-04T16:15:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=893ab05a66d89dd5652f1a032963484ccdd59ea0'/>
<id>893ab05a66d89dd5652f1a032963484ccdd59ea0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rebase and add work around for duplicate extends</title>
<updated>2025-10-07T09:18:32+00:00</updated>
<author>
<name>Samuel Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-09-02T15:51:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0c756685112876a2dc07fe29f916aeb4cb6f0712'/>
<id>0c756685112876a2dc07fe29f916aeb4cb6f0712</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>rebase</title>
<updated>2025-10-07T09:18:30+00:00</updated>
<author>
<name>Sam Tebbs</name>
<email>samuel.tebbs@arm.com</email>
</author>
<published>2025-09-01T19:25:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5f8c4721828e36a926957e6f024d978267e78b37'/>
<id>5f8c4721828e36a926957e6f024d978267e78b37</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
