<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/back, 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-31T15:19:40+00:00</updated>
<entry>
<title>Rollup merge of #144726 - jdonszelmann:move-attr-data-structures, r=lcnr</title>
<updated>2025-07-31T15:19:40+00:00</updated>
<author>
<name>Jana Dönszelmann</name>
<email>jonathan@donsz.nl</email>
</author>
<published>2025-07-31T15:19:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=26c28ee2ef1402f59cadf03417b05cdb892e7940'/>
<id>urn:sha1:26c28ee2ef1402f59cadf03417b05cdb892e7940</id>
<content type='text'>
merge rustc_attr_data_structures into rustc_hir

this move was discussed on zulip: [#t-compiler &gt; attribute parsing rework @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/attribute.20parsing.20rework/near/528530091)

Many PRs in the attribute rework depend on this move.
</content>
</entry>
<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 #136840 - Flakebi:linker-plugin-lto-fat, r=dianqk</title>
<updated>2025-07-31T11:12:45+00:00</updated>
<author>
<name>Samuel Tardieu</name>
<email>sam@rfc1149.net</email>
</author>
<published>2025-07-31T11:12:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d8c09c10e5e86559cd49e1081482d2b700ba5ccf'/>
<id>urn:sha1:d8c09c10e5e86559cd49e1081482d2b700ba5ccf</id>
<content type='text'>
Fix linker-plugin-lto only doing thin lto

When rust provides LLVM bitcode files to lld and the bitcode contains
function summaries as used for thin lto, lld defaults to using thin lto.
This prevents some optimizations that are only applied for fat lto.

We solve this by not creating function summaries when fat lto is
enabled. The bitcode for the module is just directly written out.

An alternative solution would be to set the `ThinLTO=0` module flag to
signal lld to do fat lto.
The code in clang that sets this flag is here:
https://github.com/llvm/llvm-project/blob/560149b5e3c891c64899e9912e29467a69dc3a4c/clang/lib/CodeGen/BackendUtil.cpp#L1150
The code in LLVM that queries the flag and defaults to thin lto if not
set is here:
https://github.com/llvm/llvm-project/blob/e258bca9505f35e0a22cb213a305eea9b76d11ea/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp#L4441-L4446

try-job: x86_64-gnu-debug
try-job: aarch64-gnu-debug
</content>
</entry>
<entry>
<title>Fix linker-plugin-lto only doing thin lto</title>
<updated>2025-07-31T08:38:34+00:00</updated>
<author>
<name>Flakebi</name>
<email>flakebi@t-online.de</email>
</author>
<published>2025-03-28T09:15:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a127fba657ed627cc4877f2871abaf7d9819caa'/>
<id>urn:sha1:7a127fba657ed627cc4877f2871abaf7d9819caa</id>
<content type='text'>
When rust provides LLVM bitcode files to lld and the bitcode contains
function summaries as used for thin lto, lld defaults to using thin lto.
This prevents some optimizations that are only applied for fat lto.

We solve this by not creating function summaries when fat lto is
enabled. The bitcode for the module is just directly written out.

An alternative solution would be to set the `ThinLTO=0` module flag to
signal lld to do fat lto.
The code in clang that sets this flag is here:
https://github.com/llvm/llvm-project/blob/560149b5e3c891c64899e9912e29467a69dc3a4c/clang/lib/CodeGen/BackendUtil.cpp#L1150
The code in LLVM that queries the flag and defaults to thin lto if not
set is here:
https://github.com/llvm/llvm-project/blob/e258bca9505f35e0a22cb213a305eea9b76d11ea/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp#L4441-L4446
</content>
</entry>
<entry>
<title>Rename impl_of_method -&gt; impl_of_assoc</title>
<updated>2025-07-28T14:54:53+00:00</updated>
<author>
<name>Cameron Steffen</name>
<email>cam.steffen94@gmail.com</email>
</author>
<published>2025-07-25T00:09:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b43164cef643957f9e1cd20dffdbb736f3f3c298'/>
<id>urn:sha1:b43164cef643957f9e1cd20dffdbb736f3f3c298</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #144562 - matthiaskrgr:rollup-mlvn7qo, r=matthiaskrgr</title>
<updated>2025-07-28T08:50:59+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-07-28T08:50:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=65b6cdb6a6d33987b9d642a4882283c71fbe3957'/>
<id>urn:sha1:65b6cdb6a6d33987b9d642a4882283c71fbe3957</id>
<content type='text'>
Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#144072 (update `Atomic*::from_ptr` and `Atomic*::as_ptr` docs)
 - rust-lang/rust#144151 (`tests/ui/issues/`: The Issues Strike Back [1/N])
 - rust-lang/rust#144300 (Clippy fixes for miropt-test-tools)
 - rust-lang/rust#144399 (Add a ratchet for moving all standard library tests to separate packages)
 - rust-lang/rust#144472 (str: Mark unstable `round_char_boundary` feature functions as const)
 - rust-lang/rust#144503 (Various refactors to the codegen coordinator code (part 3))
 - rust-lang/rust#144530 (coverage: Infer `instances_used` from `pgo_func_name_var_map`)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>use let chains in ast, borrowck, codegen, const_eval</title>
<updated>2025-07-28T01:08:48+00:00</updated>
<author>
<name>Kivooeo</name>
<email>Kivooeo123@gmail.com</email>
</author>
<published>2025-07-26T01:21:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=43725ed819c57b86b32a66c40572246b1f5b8952'/>
<id>urn:sha1:43725ed819c57b86b32a66c40572246b1f5b8952</id>
<content type='text'>
</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>Improve coordinator channel handling</title>
<updated>2025-07-25T11:20:23+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-07-22T14:05:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=27e2709f3e8d8f03b05704bc7e3e9110dd64397b'/>
<id>urn:sha1:27e2709f3e8d8f03b05704bc7e3e9110dd64397b</id>
<content type='text'>
Remove usage of Any, reduce visibility of fields and remove unused
backend arguments.
</content>
</entry>
<entry>
<title>Auto merge of #144398 - fmease:rollup-z6vq7mi, r=fmease</title>
<updated>2025-07-24T17:15:38+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-07-24T17:15:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=246733a3d978de41c5b77b8120ba8f41592df9f1'/>
<id>urn:sha1:246733a3d978de41c5b77b8120ba8f41592df9f1</id>
<content type='text'>
Rollup of 15 pull requests

Successful merges:

 - rust-lang/rust#143374 (Unquerify extern_mod_stmt_cnum.)
 - rust-lang/rust#143838 (std: net: uefi: Add support to query connection data)
 - rust-lang/rust#144014 (don't link to the nightly version of the Edition Guide in stable lints)
 - rust-lang/rust#144094 (Ensure we codegen the main fn)
 - rust-lang/rust#144218 (Use serde for target spec json deserialize)
 - rust-lang/rust#144221 (generate elf symbol version in raw-dylib)
 - rust-lang/rust#144240 (Add more test case to check if the false note related to sealed trait suppressed)
 - rust-lang/rust#144247 (coretests/num: use ldexp instead of hard-coding a power of 2)
 - rust-lang/rust#144276 (Use less HIR in check_private_in_public.)
 - rust-lang/rust#144278 (add Rev::into_inner)
 - rust-lang/rust#144317 (pass build.npm from bootstrap to tidy and use it for npm install)
 - rust-lang/rust#144320 (rustdoc: avoid allocating a temp String for aliases in search index)
 - rust-lang/rust#144334 (rustc_resolve: get rid of unused rustdoc::span_of_fragments_with_expansion)
 - rust-lang/rust#144335 (Don't suggest assoc ty bound on non-angle-bracketed problematic assoc ty binding)
 - rust-lang/rust#144358 (Stop using the old `validate_attr` logic for stability attributes)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
</feed>
