-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 11 pull requests #64981
Merged
Merged
Rollup of 11 pull requests #64981
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
We're not quite ready to ship parallel compilers by default, but the alt builders are not used too much (in theory), so we believe that shipping a possibly-broken compiler there is not too problematic.
It's not necessary; cycles (which are rare) can be detected by looking at the node stack. This change speeds things up slightly, as well as simplifying the code a little.
For consistency with other variables in this file.
It has a single call site, and the code is easier to read this way.
They don't help performance at all, and just complicate things.
These make the code more concise.
By collecting the done obligations (when necessary) in the main loop. This makes the code cleaner. The commit also changes the order in which successful obligations are returned -- they are now returned in the registered order, rather than reversed. Because this order doesn't actually matter, being only used by tests, the commit uses `sort()` to make the test agnostic w.r.t. the order.
This iterator can be hot, and chained iterators are slow. The second half of the chain is almost always empty, so this commit changes the code to avoid the chained iteration. This change reduces instruction counts for the `wg-grammar` benchmark by up to 1.5%.
This changes the default parallelism for parallel compilers to one, instead of the previous default, which was "num cpus". This is likely not an optimal default long-term, but it is a good default for testing whether parallel compilers are not a significant regression over a sequential compiler. Notably, this in theory makes a parallel-enabled compiler behave exactly like a sequential compiler with respect to the jobserver.
Do not ICE when encountering `enum E { A = return [0][0] }`.
removes two functions to inline by combining the check functions and extra call to try_for_each
Now the first row of each basic block is always light instead of changing seemingly at random.
Avoid ICE on return outside of fn with literal array Do not ICE when encountering `enum E { A = return [0][0] }`. Fix rust-lang#64638.
…xcrichton Make all alt builders produce parallel-enabled compilers We're not quite ready to ship parallel compilers by default, but the alt builders are not used too much (in theory), so we believe that shipping a possibly-broken compiler there is not too problematic. r? @nikomatsakis
…_paths_between_regions, r=estebank Avoid `chain()` in `find_constraint_paths_between_regions()`. This iterator can be hot, and chained iterators are slow. The second half of the chain is almost always empty, so this commit specializes the code to avoid the chained iteration. This change reduces instruction counts for the `wg-grammar` benchmark by up to 1.5%.
… r=nikomatsakis Still more `ObligationForest` improvements. Following on from rust-lang#64627, more readability improvements, but negligible effects on speed. r? @nikomatsakis
…i-refactor, r=wesleywiser SelfProfiler API refactoring and part one of event review This PR refactors the `SelfProfiler` a little bit so that most profiling methods are RAII-based. The codegen backend code already had something similar, this refactoring pulls this functionality up into `SelfProfiler` itself, for general use. The second commit of this PR is a review and update of the existing events we are already recording. Names have been made more consistent. CGU names have been removed from event names. They will be added back in when function parameter recording is implemented. There is still some work to be done for adding new events, especially around trait resolution and the incremental system. r? @wesleywiser
use try_fold instead of try_for_each to reduce compile time as it was stated in rust-lang#64572 that the biggest gain was due to less code was generated I tried to reduce the number of functions to inline by using try_fold direct instead of calling try_for_each that calls try_fold. as there is some gains with using the try_fold function this is maybe a way forward. when I tried to compile the clap-rs benchmark I get times gains only some % from rust-lang#64572 there is more function that use eg. fold that calls try_fold that also can be changed but the question is how mush "duplication" that is tolerated in std to give faster compile times can someone start a perf run? cc @nnethercote @scottmcm @bluss r? @ghost
Fix clippy warnings * Use `match` instead of `if` chain * Remove redundant `into_iter()` * Use `copied()` instead of `map()` etc.
…excrichton Update cargo. Pulls rust-lang/cargo@f3c92ed into nightly Rust. r? @alexcrichton
…ra, r=petrochenkov Fix zebra-striping in generic dataflow visualization A small formatting improvement to rust-lang#64828. Prior to this, the background color of the first row of the table for each basic block changed seemingly at random. You can see this in [basic block rust-lang#5](rust-lang#64828 (comment)) under "New table". Now it is always light. This also updates the example table to match the current output.
…lly_clear_inner_handler, r=Mark-Simulacrum Fully clear `HandlerInner` in `Handler::reset_err_count` Address [`FIXME`](https://github.com/rust-lang/rust/blob/702b45e409495a41afcccbe87a251a692b0cefab/src/librustc_errors/lib.rs#L472) for `Handler::reset_err_count` in the way suggested by @Mark-Simulacrum, i. e. clear all the fields of `HandlerInner`. cc @estebank
Update books ## reference 3 commits in fa5dfb8..320d232 2019-09-16 20:42:56 +0200 to 2019-10-01 17:05:35 +0200 - Update async/await keywords to real keywords. (rust-lang/reference#687) - Remove the warning that appears on every page. (rust-lang/reference#685) - Eschew fp lit pattern (rust-lang/reference#683) ## book 9 commits in 871416b85c1a73717d65d6f4a9ea29e5aef3db0e..04806c80be0f54b1290287e3f85e84bdfc0b6ec7 2019-09-16 09:46:20 -0400 to 2019-10-01 20:20:22 -0400 - Fix tidy error. (rust-lang/book#2104) - Fancy quotes - Commit autogenerated cargo content - Move all scripts into tools - We can start lines with numbers without creating ordered lists - ci: validate that all used references are defined (rust-lang/book#2032) - Remove the check for unstable features - Specify the rustc version we're using in a rust-toolchain file - Fix broken link to Chapter 13-01 in Chapter 12-04 (rust-lang/book#2025) ## rust-by-example 9 commits in 67cfbf31df880728dcf7cb35b15b028ec92caf31..a6288e7407a6c4c19ea29de6d43f40c803883f21 2019-09-18 09:36:40 -0300 to 2019-10-01 10:09:14 -0300 - Add reference to lifetime in structs (rust-lang/rust-by-example#1274) - Rectangle ambiguity (rust-lang/rust-by-example#1270) - Make Parsing a String code editable (rust-lang/rust-by-example#1268) - Fix match range pattern usage (rust-lang/rust-by-example#1269) - Added type alias enum variant rfc (rust-lang/rust-by-example#1267) - Chapter 9.2.5: impl FnOnce() works in 1.35 (rust-lang/rust-by-example#1266) - Move chapters from folder "traits" to "trait" (rust-lang/rust-by-example#1263) - Capturing changes (rust-lang/rust-by-example#1265) - Fix rust-lang/rust-by-example#1261: document Iterator::position (rust-lang/rust-by-example#1262) r? @ghost
@bors r+ p=11 rollup=never |
📌 Commit 0878ca5 has been approved by |
bors
added
the
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
label
Oct 2, 2019
bors
added a commit
that referenced
this pull request
Oct 2, 2019
Rollup of 11 pull requests Successful merges: - #64649 (Avoid ICE on return outside of fn with literal array) - #64722 (Make all alt builders produce parallel-enabled compilers) - #64801 (Avoid `chain()` in `find_constraint_paths_between_regions()`.) - #64805 (Still more `ObligationForest` improvements.) - #64840 (SelfProfiler API refactoring and part one of event review) - #64885 (use try_fold instead of try_for_each to reduce compile time) - #64942 (Fix clippy warnings) - #64952 (Update cargo.) - #64974 (Fix zebra-striping in generic dataflow visualization) - #64978 (Fully clear `HandlerInner` in `Handler::reset_err_count`) - #64979 (Update books) Failed merges: - #64959 (syntax: improve parameter without type suggestions) r? @ghost
☀️ Test successful - checks-azure |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
merged-by-bors
This PR was explicitly merged by bors.
rollup
A PR which is a rollup
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Successful merges:
chain()
infind_constraint_paths_between_regions()
. #64801 (Avoidchain()
infind_constraint_paths_between_regions()
.)ObligationForest
improvements. #64805 (Still moreObligationForest
improvements.)HandlerInner
inHandler::reset_err_count
#64978 (Fully clearHandlerInner
inHandler::reset_err_count
)Failed merges:
r? @ghost