Conversation
|
Some changes occurred in compiler/rustc_codegen_gcc |
|
r? @TaKO8Ki rustbot has assigned @TaKO8Ki. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Before we introduce more LTO changes, would it be possible to fix this issue introduced by your previous LTO change please? It would be nice to also add a test for this specific scenario in the Rust CI. |
|
I missed that comment. Will take a look. |
|
@rustbot block until cg_gcc is unblocked |
|
@rustbot blocked |
|
The cg_gcc sync has been fixed. @rustbot ready |
By not pushing any crates to each_linked_rlib_for_lto when no cross-crate LTO is used, we can avoid special cases elsewhere.
It is still not entirely correct I think, but much closer to the current way things are done.
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bor r+ |
|
@bors r=TaKO8Ki |
Various LTO cleanups * Move some special casing of thin local LTO into a single location. * Move lto_import_only_modules handling for fat LTO earlier. There is no reason to keep it separate until right before pass the LTO modules to the codegen backend. For thin LTO this introduces `ThinLtoInput` to correctly handle incr comp caching. * Remove the `Linker` type from cg_llvm. It previously helped deduplicate code for `-Zcombine-cgus`, but that flag no longer exists. Part of rust-lang/compiler-team#908
…uwer Rollup of 8 pull requests Successful merges: - #153440 (Various LTO cleanups) - #154561 (Suggest similar keyword when visibility is not followed by an item) - #154657 (Fix pattern assignment suggestions for uninitialized bindings) - #154717 (Fix ICE in unsafe binder discriminant helpers) - #154722 (fix(lints): Improve `ill_formed_attribute_input` with better help message) - #154808 (Post-attribute ports cleanup pt. 1) - #154849 (Promote `char::is_case_ignorable` from perma-unstable to unstable) - #154850 (ast_validation: scalable vectors okay for rustdoc)
…uwer Rollup of 8 pull requests Successful merges: - #153440 (Various LTO cleanups) - #154561 (Suggest similar keyword when visibility is not followed by an item) - #154657 (Fix pattern assignment suggestions for uninitialized bindings) - #154717 (Fix ICE in unsafe binder discriminant helpers) - #154722 (fix(lints): Improve `ill_formed_attribute_input` with better help message) - #154808 (Post-attribute ports cleanup pt. 1) - #154849 (Promote `char::is_case_ignorable` from perma-unstable to unstable) - #154850 (ast_validation: scalable vectors okay for rustdoc)
…uwer Rollup of 8 pull requests Successful merges: - #153440 (Various LTO cleanups) - #154561 (Suggest similar keyword when visibility is not followed by an item) - #154657 (Fix pattern assignment suggestions for uninitialized bindings) - #154717 (Fix ICE in unsafe binder discriminant helpers) - #154722 (fix(lints): Improve `ill_formed_attribute_input` with better help message) - #154808 (Post-attribute ports cleanup pt. 1) - #154849 (Promote `char::is_case_ignorable` from perma-unstable to unstable) - #154850 (ast_validation: scalable vectors okay for rustdoc)
Various LTO cleanups * Move some special casing of thin local LTO into a single location. * Move lto_import_only_modules handling for fat LTO earlier. There is no reason to keep it separate until right before pass the LTO modules to the codegen backend. For thin LTO this introduces `ThinLtoInput` to correctly handle incr comp caching. * Remove the `Linker` type from cg_llvm. It previously helped deduplicate code for `-Zcombine-cgus`, but that flag no longer exists. Part of rust-lang/compiler-team#908
…uwer Rollup of 9 pull requests Successful merges: - #153440 (Various LTO cleanups) - #151899 (Constify fold, reduce and last for iterator) - #154561 (Suggest similar keyword when visibility is not followed by an item) - #154657 (Fix pattern assignment suggestions for uninitialized bindings) - #154717 (Fix ICE in unsafe binder discriminant helpers) - #154722 (fix(lints): Improve `ill_formed_attribute_input` with better help message) - #154777 (`#[cfg]`: suggest alternative `target_` name when the value does not match) - #154849 (Promote `char::is_case_ignorable` from perma-unstable to unstable) - #154850 (ast_validation: scalable vectors okay for rustdoc)
Rollup merge of #153440 - bjorn3:lto_refactors13, r=TaKO8Ki Various LTO cleanups * Move some special casing of thin local LTO into a single location. * Move lto_import_only_modules handling for fat LTO earlier. There is no reason to keep it separate until right before pass the LTO modules to the codegen backend. For thin LTO this introduces `ThinLtoInput` to correctly handle incr comp caching. * Remove the `Linker` type from cg_llvm. It previously helped deduplicate code for `-Zcombine-cgus`, but that flag no longer exists. Part of rust-lang/compiler-team#908
…uwer Rollup of 9 pull requests Successful merges: - rust-lang/rust#153440 (Various LTO cleanups) - rust-lang/rust#151899 (Constify fold, reduce and last for iterator) - rust-lang/rust#154561 (Suggest similar keyword when visibility is not followed by an item) - rust-lang/rust#154657 (Fix pattern assignment suggestions for uninitialized bindings) - rust-lang/rust#154717 (Fix ICE in unsafe binder discriminant helpers) - rust-lang/rust#154722 (fix(lints): Improve `ill_formed_attribute_input` with better help message) - rust-lang/rust#154777 (`#[cfg]`: suggest alternative `target_` name when the value does not match) - rust-lang/rust#154849 (Promote `char::is_case_ignorable` from perma-unstable to unstable) - rust-lang/rust#154850 (ast_validation: scalable vectors okay for rustdoc)
ThinLtoInputto correctly handle incr comp caching.Linkertype from cg_llvm. It previously helped deduplicate code for-Zcombine-cgus, but that flag no longer exists.Part of rust-lang/compiler-team#908