<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/traits, branch beta</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=beta</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=beta'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-06T18:37:23+00:00</updated>
<entry>
<title>Remove want_summary argument from prepare_thin</title>
<updated>2025-09-06T18:37:23+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-09-04T15:16:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f2933b34a8331204270fa2bdbdcfd79fcffbb302'/>
<id>urn:sha1:f2933b34a8331204270fa2bdbdcfd79fcffbb302</id>
<content type='text'>
It is always false nowadays. ThinLTO summary writing is instead done by
llvm_optimize.
</content>
</entry>
<entry>
<title>Remove thin_link_data method from ThinBufferMethods</title>
<updated>2025-09-06T18:37:23+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-08-15T13:12:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e3d0b7d6480d7e4dbbbea24635f56e28dfe735b3'/>
<id>urn:sha1:e3d0b7d6480d7e4dbbbea24635f56e28dfe735b3</id>
<content type='text'>
It is only used within cg_llvm.
</content>
</entry>
<entry>
<title>Directly raise fatal errors inside the codegen backends</title>
<updated>2025-08-24T11:20:41+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-08-24T10:47:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=525c6a356284ea47587f0316cec23cab290b986e'/>
<id>urn:sha1:525c6a356284ea47587f0316cec23cab290b986e</id>
<content type='text'>
As opposed to passing it around through Result.
</content>
</entry>
<entry>
<title>Complete functionality and general cleanup</title>
<updated>2025-08-14T16:30:15+00:00</updated>
<author>
<name>Marcelo Domínguez</name>
<email>dmmarcelo27@gmail.com</email>
</author>
<published>2025-08-14T15:27:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=250d77e5d72fde69a6406050a3b037635f685378'/>
<id>urn:sha1:250d77e5d72fde69a6406050a3b037635f685378</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Port the `#[linkage]` attribute to the new attribute system</title>
<updated>2025-08-13T19:01:37+00:00</updated>
<author>
<name>Sasha Pourcelot</name>
<email>sasha.pourcelot@protonmail.com</email>
</author>
<published>2025-08-12T18:22:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d435197afcb019a692aa1faf8b7169e167ac1de8'/>
<id>urn:sha1:d435197afcb019a692aa1faf8b7169e167ac1de8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #144192 - RalfJung:atomicrmw-ptr, r=nikic</title>
<updated>2025-08-08T19:22:44+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>t.gross35@gmail.com</email>
</author>
<published>2025-08-08T19:22:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6fa6a854cd791e9efa813e9b18cd1a5337ded971'/>
<id>urn:sha1:6fa6a854cd791e9efa813e9b18cd1a5337ded971</id>
<content type='text'>
atomicrmw on pointers: move integer-pointer cast hacks into backend

Conceptually, we want to have atomic operations on pointers of the form `fn atomic_add(ptr: *mut T, offset: usize, ...)`. However, LLVM does not directly support such operations (https://github.com/llvm/llvm-project/issues/120837), so we have to cast the `offset` to a pointer somewhere.

This PR moves that hack into the LLVM backend, so that the standard library, intrinsic, and Miri all work with the conceptual operation we actually want. Hopefully, one day LLVM will gain a way to represent these operations without integer-pointer casts, and then the hack will disappear entirely.

Cc ```@nikic``` -- this is the best we can do right now, right?
Fixes https://github.com/rust-lang/rust/issues/134617
</content>
</entry>
<entry>
<title>coverage: Remove all unstable support for MC/DC instrumentation</title>
<updated>2025-08-06T12:38:52+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-08-06T12:02:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=81ed042c8cc4a1bd677c9209cf9edca6b91af04a'/>
<id>urn:sha1:81ed042c8cc4a1bd677c9209cf9edca6b91af04a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #144232 - xacrimon:explicit-tail-call, r=WaffleLapkin</title>
<updated>2025-07-31T05:42:00+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-07-31T05:42:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8628b78f24c01026d01b82afd3ec91a2019fe647'/>
<id>urn:sha1:8628b78f24c01026d01b82afd3ec91a2019fe647</id>
<content type='text'>
Implement support for `become` and explicit tail call codegen for the LLVM backend

This PR implements codegen of explicit tail calls via `become` in `rustc_codegen_ssa` and support within the LLVM backend. Completes a task on (https://github.com/rust-lang/rust/issues/112788). This PR implements all the necessary bits to make explicit tail calls usable, other backends have received stubs for now and will ICE if you use `become` on them. I suspect there is some bikeshedding to be done on how we should go about implementing this for other backends, but it should be relatively straightforward for GCC after this is merged.

During development I also put together a POC bytecode VM based on tail call dispatch to test these changes out and analyze the codegen to make sure it generates expected assembly. That is available [here](https://github.com/xacrimon/tcvm).
</content>
</entry>
<entry>
<title>Remove support for -Zcombine-cgu</title>
<updated>2025-07-26T13:52:24+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-07-06T18:03:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=948f7798d70b6adb6a490b8867e155dadebd3f0e'/>
<id>urn:sha1:948f7798d70b6adb6a490b8867e155dadebd3f0e</id>
<content type='text'>
Nobody seems to actually use this, while still adding some extra
complexity to the already rather complex codegen coordinator code.
It is also not supported by any backend other than the LLVM backend.
</content>
</entry>
<entry>
<title>Implement support for explicit tail calls in the MIR block builders and the LLVM codegen backend.</title>
<updated>2025-07-25T23:02:29+00:00</updated>
<author>
<name>Joel Wejdenstål</name>
<email>joel.wejdenstal@gmail.com</email>
</author>
<published>2025-07-25T19:21:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a448837045326d7c33059dc3aa2d1d87529dcf3d'/>
<id>urn:sha1:a448837045326d7c33059dc3aa2d1d87529dcf3d</id>
<content type='text'>
</content>
</entry>
</feed>
