Simplify ThinLTO handling#152670
Conversation
df90c7e to
ecd2f10
Compare
In favor of passing a NULL ThinLTOSummaryBufferRef. And improve type improve type safety on the Rust side.
ecd2f10 to
3decb52
Compare
|
Some changes occurred in compiler/rustc_codegen_gcc |
|
@bors r+ |
|
We can perf. in the meantime, just in case. @bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Simplify ThinLTO handling
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (a4404b1): comparison URL. Overall result: no relevant changes - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary 3.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 481.498s -> 479.564s (-0.40%) |
…uwer Rollup of 14 pull requests Successful merges: - #153007 (`rust-analyzer` subtree update) - #152670 (Simplify ThinLTO handling) - #152768 (Enable autodiff in ci for all major os) - #152908 (Enable rust.remap-debuginfo in the dist profile) - #152999 (Check importing `crate`/`$crate`/`super` after handling `self`) - #152003 (Reflection TypeId::trait_info_of) - #152976 (Revert relative paths for std links in rustc-docs) - #152985 (Port `#[feature]` to the new attribute system) - #152989 (Port `#[rustc_inherit_overflow_checks]` to the new attribute parsers) - #152991 (fix interpreter tracing output) - #153004 (Superficial tweaks to the query modifier docs in `rustc_middle::query::modifiers`) - #153008 (bootstrap.compiler.toml: update name of primary branch) - #153016 (Migration of `LintDiagnostic` - part 2) - #153020 (rustdoc: Improve sentence for documented empty impl blocks) Failed merges: - #152988 (Port `#[register_tool]` to the new attribute system)
|
@bors p=2 |
…uwer Rollup of 14 pull requests Successful merges: - #153007 (`rust-analyzer` subtree update) - #152670 (Simplify ThinLTO handling) - #152768 (Enable autodiff in ci for all major os) - #152908 (Enable rust.remap-debuginfo in the dist profile) - #152999 (Check importing `crate`/`$crate`/`super` after handling `self`) - #152003 (Reflection TypeId::trait_info_of) - #152976 (Revert relative paths for std links in rustc-docs) - #152985 (Port `#[feature]` to the new attribute system) - #152989 (Port `#[rustc_inherit_overflow_checks]` to the new attribute parsers) - #152991 (fix interpreter tracing output) - #153004 (Superficial tweaks to the query modifier docs in `rustc_middle::query::modifiers`) - #153008 (bootstrap.compiler.toml: update name of primary branch) - #153016 (Migration of `LintDiagnostic` - part 2) - #153020 (rustdoc: Improve sentence for documented empty impl blocks) Failed merges: - #152988 (Port `#[register_tool]` to the new attribute system)
Rollup merge of #152670 - bjorn3:lto_refactors12, r=petrochenkov Simplify ThinLTO handling This reduces the amount of complexity around ThinLTO module buffers. It removes duplication between `ModuleBuffer` and `ThinBuffer` (the latter was also used for fat LTO in some cases), clarifies when and where the ThinLTO summary is used (only for `--emit thin-link-bitcode`, ThinLTO performed by rustc rebuilds the summary every time). This also enables a follow up cleanup to reduce code duplication between red, green and imported codegen units. Part of rust-lang/compiler-team#908
This reduces the amount of complexity around ThinLTO module buffers. It removes duplication between
ModuleBufferandThinBuffer(the latter was also used for fat LTO in some cases), clarifies when and where the ThinLTO summary is used (only for--emit thin-link-bitcode, ThinLTO performed by rustc rebuilds the summary every time). This also enables a follow up cleanup to reduce code duplication between red, green and imported codegen units.Part of rust-lang/compiler-team#908