<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/codegen-llvm/intrinsics, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-16T18:49:20+00:00</updated>
<entry>
<title>Update the minimum external LLVM to 20</title>
<updated>2025-09-16T18:49:20+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2025-08-07T21:29:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=580b4891aa23c0625539bf5ee55270f27af09072'/>
<id>urn:sha1:580b4891aa23c0625539bf5ee55270f27af09072</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make `prefetch` intrinsics safe</title>
<updated>2025-08-19T22:35:42+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-08-19T20:16:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d25910eaeb3eab25d3bbf9b9815e6d215c202d1f'/>
<id>urn:sha1:d25910eaeb3eab25d3bbf9b9815e6d215c202d1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>llvm: Accept new LLVM lifetime format</title>
<updated>2025-08-11T22:00:41+00:00</updated>
<author>
<name>Matthew Maurer</name>
<email>mmaurer@google.com</email>
</author>
<published>2025-08-08T17:38:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=258915a55539593423c3d4c30f7b741f65c56e51'/>
<id>urn:sha1:258915a55539593423c3d4c30f7b741f65c56e51</id>
<content type='text'>
LLVM removed the size parameter from the lifetime format.
Tolerate not having that size parameter.
</content>
</entry>
<entry>
<title>Auto merge of #143860 - scottmcm:transmute-always-rvalue, r=WaffleLapkin</title>
<updated>2025-07-26T22:45:18+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-07-26T22:45:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=283a0746a244a88503fed61844f44df925ccdbb6'/>
<id>urn:sha1:283a0746a244a88503fed61844f44df925ccdbb6</id>
<content type='text'>
Let `codegen_transmute_operand` just handle everything

When combined with rust-lang/rust#143720, this means `rvalue_creates_operand` can just return `true` for *every* `Rvalue`.  (A future PR could consider removing it, though just letting it optimize out is fine for now.)

It's nicer anyway, IMHO, because it avoids needing the layout checks to be consistent in the two places, and thus is an overall reduction in code.  Plus it's a more helpful building block when used in other places this way.

(TBH, it probably would have been better to have it this way the whole time, but I clearly didn't understand `rvalue_creates_operand` when I originally wrote rust-lang/rust#109843.)
</content>
</entry>
<entry>
<title>Don't emit two `assume`s in transmutes when one is a subset of the other</title>
<updated>2025-07-23T16:16:32+00:00</updated>
<author>
<name>Scott McMurray</name>
<email>scottmcm@users.noreply.github.com</email>
</author>
<published>2025-07-20T07:17:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a93a9aa2d57564660b2c28e5c1cdda7943989f17'/>
<id>urn:sha1:a93a9aa2d57564660b2c28e5c1cdda7943989f17</id>
<content type='text'>
For example, transmuting between `bool` and `Ordering` doesn't need two `assume`s because one range is a superset of the other.

Multiple are still used for things like `char` &lt;-&gt; `NonZero&lt;u32&gt;`, which overlap but where neither fully contains the other.

</content>
</entry>
<entry>
<title>re-enable direct `bitcast`s for Int/Float vector transmutes (but not ones involving pointers)</title>
<updated>2025-07-23T15:32:46+00:00</updated>
<author>
<name>Scott McMurray</name>
<email>scottmcm@users.noreply.github.com</email>
</author>
<published>2025-07-18T08:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ea0c7788c049b608f2f497ec3a4b4117c359523c'/>
<id>urn:sha1:ea0c7788c049b608f2f497ec3a4b4117c359523c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Let `codegen_transmute_operand` just handle everything</title>
<updated>2025-07-23T15:25:13+00:00</updated>
<author>
<name>Scott McMurray</name>
<email>scottmcm@users.noreply.github.com</email>
</author>
<published>2025-07-12T23:38:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=231dddde3e686c0903a28ce605b8c5d505a2ba21'/>
<id>urn:sha1:231dddde3e686c0903a28ce605b8c5d505a2ba21</id>
<content type='text'>
When combined with 143720, this means `rvalue_creates_operand` can just return `true` for *every* `Rvalue`.  (A future PR could consider removing it, though just letting it optimize out is fine for now.)

It's nicer anyway, IMHO, because it avoids needing the layout checks to be consistent in the two places, and thus is an overall reduction in code.  Plus it's a more helpful building block when used in other places this way.

</content>
</entry>
<entry>
<title>Rename `tests/codegen` into `tests/codegen-llvm`</title>
<updated>2025-07-22T12:28:48+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2025-07-21T12:34:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a27f3e3fd1e4d16160f8885b6b06665b5319f56c'/>
<id>urn:sha1:a27f3e3fd1e4d16160f8885b6b06665b5319f56c</id>
<content type='text'>
</content>
</entry>
</feed>
