borrowck: Simplify deps to build compiler 30s faster - #160358
Conversation
… it from there `rustc_borrowck` uses `type_op_prove_predicate_with_cause` from `rustc_traits`, but is a simple helper that can live in `rustc_trait_selection` instead. Move it there.
|
r? @TaKO8Ki rustbot has assigned @TaKO8Ki. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
`rustc_borrowck` now only uses `rustc_traits` for one helper that it re-exports from `rustc_trait_selection`. Use the helper directly from `rustc_trait_selection`, and eliminate the dependency.
33ec3dd to
425c312
Compare
|
These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
|
@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.
borrowck: Simplify deps to build compiler 30s faster
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (f1bf412): comparison URL. Overall result: no relevant changes - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary 3.4%, secondary 0.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 0.1%, secondary -0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 490.553s -> 487.967s (-0.53%) |
|
AIUI, the perf suite bootstrap timing uses |
There was a problem hiding this comment.
It'll also be very nice for people making changes to rustc_traits :)
r? me @bors r+
…s, r=mejrs borrowck: Simplify deps to build compiler 30s faster `rustc_borrowck` uses two helpers from `rustc_traits`. One of them is re-exported from `rustc_trait_selection`, and the other can easily move to `rustc_trait_selection`. Making `rustc_borrowck` use these helpers from `rustc_trait_selection` directly, and eliminating the `rustc_traits` dependency, allows starting to build `rustc_borrowck` earlier, which substantially speeds up building the compiler because `rustc_borrowck` is one of the last things to build. On my system, this speeds up the rustc build by a little over 30s.
…s, r=mejrs borrowck: Simplify deps to build compiler 30s faster `rustc_borrowck` uses two helpers from `rustc_traits`. One of them is re-exported from `rustc_trait_selection`, and the other can easily move to `rustc_trait_selection`. Making `rustc_borrowck` use these helpers from `rustc_trait_selection` directly, and eliminating the `rustc_traits` dependency, allows starting to build `rustc_borrowck` earlier, which substantially speeds up building the compiler because `rustc_borrowck` is one of the last things to build. On my system, this speeds up the rustc build by a little over 30s.
…s, r=mejrs borrowck: Simplify deps to build compiler 30s faster `rustc_borrowck` uses two helpers from `rustc_traits`. One of them is re-exported from `rustc_trait_selection`, and the other can easily move to `rustc_trait_selection`. Making `rustc_borrowck` use these helpers from `rustc_trait_selection` directly, and eliminating the `rustc_traits` dependency, allows starting to build `rustc_borrowck` earlier, which substantially speeds up building the compiler because `rustc_borrowck` is one of the last things to build. On my system, this speeds up the rustc build by a little over 30s.
…uwer Rollup of 12 pull requests Successful merges: - #159906 (Semantic check of `mut` restrictions) - #156527 (Move `std::io` tests to `alloctests` & add prelude) - #159525 (Stabilize passing 128-bit integers via vector registers with `asm!` on x86) - #160342 (Specialize `advance_by` method of `Fuse`) - #160358 (borrowck: Simplify deps to build compiler 30s faster) - #160375 (miri subtree update) - #106643 (Allow only implementing `Read::read_buf`) - #159499 (tests: prefer max-llvm-major-version over open LLVM ranges) - #159729 (allocations are allowed to grow (but not shrink)) - #159881 (fix: Do not stop `visible_parent_map` breadth-first search reaching children of `#[doc(hidden)]` modules) - #160189 (Move codegen_stmt_debuginfo to debuginfo.rs) - #160356 (Add more tests for `must_implement_one_of`)
Rollup merge of #160358 - joshtriplett:borrowck-simplify-deps, r=mejrs borrowck: Simplify deps to build compiler 30s faster `rustc_borrowck` uses two helpers from `rustc_traits`. One of them is re-exported from `rustc_trait_selection`, and the other can easily move to `rustc_trait_selection`. Making `rustc_borrowck` use these helpers from `rustc_trait_selection` directly, and eliminating the `rustc_traits` dependency, allows starting to build `rustc_borrowck` earlier, which substantially speeds up building the compiler because `rustc_borrowck` is one of the last things to build. On my system, this speeds up the rustc build by a little over 30s.
…uwer Rollup of 12 pull requests Successful merges: - rust-lang/rust#159906 (Semantic check of `mut` restrictions) - rust-lang/rust#156527 (Move `std::io` tests to `alloctests` & add prelude) - rust-lang/rust#159525 (Stabilize passing 128-bit integers via vector registers with `asm!` on x86) - rust-lang/rust#160342 (Specialize `advance_by` method of `Fuse`) - rust-lang/rust#160358 (borrowck: Simplify deps to build compiler 30s faster) - rust-lang/rust#160375 (miri subtree update) - rust-lang/rust#106643 (Allow only implementing `Read::read_buf`) - rust-lang/rust#159499 (tests: prefer max-llvm-major-version over open LLVM ranges) - rust-lang/rust#159729 (allocations are allowed to grow (but not shrink)) - rust-lang/rust#159881 (fix: Do not stop `visible_parent_map` breadth-first search reaching children of `#[doc(hidden)]` modules) - rust-lang/rust#160189 (Move codegen_stmt_debuginfo to debuginfo.rs) - rust-lang/rust#160356 (Add more tests for `must_implement_one_of`)
rustc_borrowckuses two helpers fromrustc_traits. One of them is re-exported fromrustc_trait_selection, and the other can easily move torustc_trait_selection.Making
rustc_borrowckuse these helpers fromrustc_trait_selectiondirectly, and eliminating therustc_traitsdependency, allows starting to buildrustc_borrowckearlier, which substantially speeds up building the compiler becauserustc_borrowckis one of the last things to build.On my system, this speeds up the rustc build by a little over 30s.