<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/AVR/shift.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>[AVR,test] Change llc -march= to -mtriple=</title>
<updated>2024-12-15T18:26:33+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2024-12-15T18:26:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9ef1d37ffb5f56a9b949a6307bbb16c2ea0130e3'/>
<id>9ef1d37ffb5f56a9b949a6307bbb16c2ea0130e3</id>
<content type='text'>
Similar to 806761a7629df268c8aed49657aeccffa6bca449

-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.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize avr-apple-darwin as ELF instead
of rejecting it outrightly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Similar to 806761a7629df268c8aed49657aeccffa6bca449

-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.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize avr-apple-darwin as ELF instead
of rejecting it outrightly.
</pre>
</div>
</content>
</entry>
<entry>
<title>[MachineLICM] Hoist copies of constant physical register (#93285)</title>
<updated>2024-05-29T06:10:01+00:00</updated>
<author>
<name>Pengcheng Wang</name>
<email>wangpengcheng.pp@bytedance.com</email>
</author>
<published>2024-05-29T06:10:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4e0bd3fab4b6a54342c9bed14f205895da3cf0d9'/>
<id>4e0bd3fab4b6a54342c9bed14f205895da3cf0d9</id>
<content type='text'>
Previously, we just check if the source is a virtual register and
this prevents some potential hoists.

We can see some improvements in AArch64/RISCV tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we just check if the source is a virtual register and
this prevents some potential hoists.

We can see some improvements in AArch64/RISCV tests.</pre>
</div>
</content>
</entry>
<entry>
<title>[AVR] Expand shifts of all types except int8 and int16</title>
<updated>2023-07-19T03:57:00+00:00</updated>
<author>
<name>Patryk Wychowaniec</name>
<email>pwychowaniec@pm.me</email>
</author>
<published>2023-07-19T03:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4e831753b9cf8745e9bf251f775f2399c9ef4138'/>
<id>4e831753b9cf8745e9bf251f775f2399c9ef4138</id>
<content type='text'>
Currently our AVRShiftExpand pass expands only 32-bit shifts, with the
assumption that other kinds of shifts (e.g. 64-bit ones) are
automatically reduced to 8-bit ones by LLVM during ISel.

However this is not always true and causes problems in the rust-lang runtime.

This commit changes the logic a bit, so that instead of expanding only
32-bit shifts, we expand shifts of all types except 8-bit and 16-bit.

This is not the most optimal solution, because 64-bit shifts can be
expanded to 32-bit shifts which has been deeply optimized.

I've checked the generated code using rustc + simavr, and all shifts
seem to behave correctly.

Spotted in the wild in rustc:
https://github.com/rust-lang/compiler-builtins/issues/523
https://github.com/rust-lang/rust/issues/112140

Reviewed By: benshi001

Differential Revision: https://reviews.llvm.org/D154785
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently our AVRShiftExpand pass expands only 32-bit shifts, with the
assumption that other kinds of shifts (e.g. 64-bit ones) are
automatically reduced to 8-bit ones by LLVM during ISel.

However this is not always true and causes problems in the rust-lang runtime.

This commit changes the logic a bit, so that instead of expanding only
32-bit shifts, we expand shifts of all types except 8-bit and 16-bit.

This is not the most optimal solution, because 64-bit shifts can be
expanded to 32-bit shifts which has been deeply optimized.

I've checked the generated code using rustc + simavr, and all shifts
seem to behave correctly.

Spotted in the wild in rustc:
https://github.com/rust-lang/compiler-builtins/issues/523
https://github.com/rust-lang/rust/issues/112140

Reviewed By: benshi001

Differential Revision: https://reviews.llvm.org/D154785
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][Codegen][AVR] Make shift.ll autogenerate-able</title>
<updated>2022-12-24T16:26:42+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-12-24T16:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3bb5ddd1756d4573d3104f8b86d2973dbc550402'/>
<id>3bb5ddd1756d4573d3104f8b86d2973dbc550402</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AVR] Optimize int16 airthmetic right shift for shift amount 7/14/15</title>
<updated>2022-03-26T06:53:27+00:00</updated>
<author>
<name>Ben Shi</name>
<email>ben.shi@streamcomputing.com</email>
</author>
<published>2022-03-26T03:24:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bce2e208e08f62dd362566e43b16cbfece459bec'/>
<id>bce2e208e08f62dd362566e43b16cbfece459bec</id>
<content type='text'>
Reviewed By: aykevl

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

Differential Revision: https://reviews.llvm.org/D115618
</pre>
</div>
</content>
</entry>
<entry>
<title>[AVR] Optimize int16 shift operation for shift amount greater than 8</title>
<updated>2022-01-04T11:48:50+00:00</updated>
<author>
<name>Ben Shi</name>
<email>ben.shi@streamcomputing.com</email>
</author>
<published>2022-01-04T11:14:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=99e7bf46c9e34644a8c0033684798dcafc790200'/>
<id>99e7bf46c9e34644a8c0033684798dcafc790200</id>
<content type='text'>
Skip operation on the lower byte in int16 logical left shift when
shift amount is greater than 8.

Skip operation on the higher byte in int16 logical &amp; arithmetic
right shift when shift amount is greater than 8.

Reviewed By: aykevl

Differential Revision: https://reviews.llvm.org/D115594
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Skip operation on the lower byte in int16 logical left shift when
shift amount is greater than 8.

Skip operation on the higher byte in int16 logical &amp; arithmetic
right shift when shift amount is greater than 8.

Reviewed By: aykevl

Differential Revision: https://reviews.llvm.org/D115594
</pre>
</div>
</content>
</entry>
<entry>
<title>[AVR] Optimize int8 arithmetic right shift 6 bits</title>
<updated>2022-01-04T10:36:03+00:00</updated>
<author>
<name>Ben Shi</name>
<email>ben.shi@streamcomputing.com</email>
</author>
<published>2022-01-04T03:20:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f4ef79306cee2b5866aff681174f16b816810c4a'/>
<id>f4ef79306cee2b5866aff681174f16b816810c4a</id>
<content type='text'>
Reviewed By: aykevl

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

Differential Revision: https://reviews.llvm.org/D115593
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[AVR] Optimize int8 arithmetic right shift 6 bits"</title>
<updated>2022-01-04T04:14:15+00:00</updated>
<author>
<name>Ben Shi</name>
<email>ben.shi@streamcomputing.com</email>
</author>
<published>2022-01-04T04:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9fb4e79d06aa690c611c0ef601c134f57788590a'/>
<id>9fb4e79d06aa690c611c0ef601c134f57788590a</id>
<content type='text'>
This reverts commit 5723261370b45fa4d0d295845c6ef9e223f2ff4a.

There are failures as reported in

https://lab.llvm.org/buildbot#builders/16/builds/21638
https://lab.llvm.org/buildbot#builders/104/builds/5394
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 5723261370b45fa4d0d295845c6ef9e223f2ff4a.

There are failures as reported in

https://lab.llvm.org/buildbot#builders/16/builds/21638
https://lab.llvm.org/buildbot#builders/104/builds/5394
</pre>
</div>
</content>
</entry>
<entry>
<title>[AVR] Optimize int8 arithmetic right shift 6 bits</title>
<updated>2022-01-04T03:20:29+00:00</updated>
<author>
<name>Ben Shi</name>
<email>ben.shi@streamcomputing.com</email>
</author>
<published>2022-01-04T03:20:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5723261370b45fa4d0d295845c6ef9e223f2ff4a'/>
<id>5723261370b45fa4d0d295845c6ef9e223f2ff4a</id>
<content type='text'>
Reviewed By: aykevl

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

Differential Revision: https://reviews.llvm.org/D115593
</pre>
</div>
</content>
</entry>
<entry>
<title>[AVR] Fix a bug in 16-bit shifts</title>
<updated>2021-02-14T03:54:55+00:00</updated>
<author>
<name>Ben Shi</name>
<email>powerman1st@163.com</email>
</author>
<published>2021-02-14T03:54:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=efb1cb752bf12149af9c773f702a757ba9721649'/>
<id>efb1cb752bf12149af9c773f702a757ba9721649</id>
<content type='text'>
Reviewed By: aykevl

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

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