<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_gcc/src, branch stable</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=stable</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=stable'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-31T12:19:27+00:00</updated>
<entry>
<title>remove rustc_attr_data_structures</title>
<updated>2025-07-31T12:19:27+00:00</updated>
<author>
<name>Jana Dönszelmann</name>
<email>jana@donsz.nl</email>
</author>
<published>2025-07-31T09:00:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e1d3ad89c7a2ad4f5d944a7fee1298ffe8c99645'/>
<id>urn:sha1:e1d3ad89c7a2ad4f5d944a7fee1298ffe8c99645</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>
<entry>
<title>Remove each_linked_rlib_for_lto from CodegenContext</title>
<updated>2025-07-21T07:58:44+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-07-06T16:59:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dadc4cae501d9fa515a6cd3b7fe546db13b44a7b'/>
<id>urn:sha1:dadc4cae501d9fa515a6cd3b7fe546db13b44a7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move exported_symbols_for_lto out of CodegenContext</title>
<updated>2025-07-21T07:58:44+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-07-06T16:06:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1a6f941d2b1e9f9987518961d3bc49e2691aab2e'/>
<id>urn:sha1:1a6f941d2b1e9f9987518961d3bc49e2691aab2e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge exported_symbols computation into exported_symbols_for_lto</title>
<updated>2025-07-21T07:58:44+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-07-06T15:57:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6e757354ada32657886a9ec944c389cb93b9c919'/>
<id>urn:sha1:6e757354ada32657886a9ec944c389cb93b9c919</id>
<content type='text'>
And move exported_symbols_for_lto call from backends to cg_ssa.
</content>
</entry>
<entry>
<title>Move LTO symbol export calculation from backends to cg_ssa</title>
<updated>2025-07-21T07:58:44+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-07-04T14:59:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1c8dc6f4405124b092dc534d17d4b13f29a4adae'/>
<id>urn:sha1:1c8dc6f4405124b092dc534d17d4b13f29a4adae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge modules and cached_modules for fat LTO</title>
<updated>2025-07-21T07:58:44+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-07-04T07:42:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=112799e63772988d874287979b5b4cc8b27668ab'/>
<id>urn:sha1:112799e63772988d874287979b5b4cc8b27668ab</id>
<content type='text'>
The modules vec can already contain serialized modules and there is no
need to distinguish between cached and non-cached cgus at LTO time.
</content>
</entry>
<entry>
<title>Merge commit 'f682d09eefc6700b9e5851ef193847959acf4fac' into subtree-update_cg_gcc_2025-07-18</title>
<updated>2025-07-18T16:31:20+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2025-07-18T16:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=66017df336ae650c7fff2970e470a792036ba4be'/>
<id>urn:sha1:66017df336ae650c7fff2970e470a792036ba4be</id>
<content type='text'>
</content>
</entry>
</feed>
