-
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
remove or encapsulate the remaining non-query data in tcx #44501
remove or encapsulate the remaining non-query data in tcx #44501
Conversation
r=me modulo the forbid_reads hack. Also, cc @arielb1 |
|
@michaelwoerister I meant |
☔ The latest upstream changes (presumably #44442) made this pull request unmergeable. Please resolve the merge conflicts. |
Before we merge, let's get some perf numbers - run a try build when ready. |
@eddyb I think that example could indeed be a query -- I was considering actually extending the maps macro to support such queries (i.e., queries that are not permitting to read during their code, and hence don't require a task) or just making it be a query. I could go either way. |
c58e725
to
fb2e369
Compare
src/librustc/ty/erase_regions.rs
Outdated
@@ -0,0 +1,81 @@ | |||
use rustc_data_structures::fx::FxHashMap; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing license.
[00:02:50] tidy error: /checkout/src/librustc/ty/erase_regions.rs: incorrect license
LGTM |
@bors r=eddyb |
📌 Commit 49a2c08 has been approved by |
☔ The latest upstream changes (presumably #44420) made this pull request unmergeable. Please resolve the merge conflicts. |
49a2c08
to
b952f47
Compare
@bors r=eddyb |
📌 Commit b952f47 has been approved by |
⌛ Testing commit b952f477c63226e1059c1c4868db962ed10d93d9 with merge 3e4fe6c4557ff9caadba4f43ba263716483cce26... |
💔 Test failed - status-travis |
Could not compile stage1-std in
|
@bors: r- reappeared in the travis queue |
☔ The latest upstream changes (presumably #44678) made this pull request unmergeable. Please resolve the merge conflicts. |
b952f47
to
10069e5
Compare
@bors r=eddyb |
📌 Commit 10069e5 has been approved by |
94449a5
to
dd3a4f4
Compare
cc @Manishearth @llogiq @mcarton @oli-obk -- apparently I've broken clippy. Looks like primarily this is a matter of now needing to supply the (Are there some directions for the steps to prepare a PR to clippy to fix this stuff?) |
Directions can be found at https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#external-dependencies Generally, you can just fix clippy by compiling it via Remember to set If you consider the PR to clippy to be too involved (e.g. because we used an API so wrongly it'll take a lot of effort to fix our usage), we'll fix it ourselvels. |
Actually, looking again, I'm not sure. I thought that I had seen -- or maybe just imagined -- some path in Regardless, as @eddyb pointed out earlier, a regular query is simpler, so that may have been a bit of premature perf. optimization on my part. I think my ideal preference would be to keep it as a query, but add an option to declare a "non-read" query that skips dependency tracking (using something like |
@bors r+ |
📌 Commit 7715f97 has been approved by |
a673c3b
to
7715f97
Compare
⌛ Testing commit 7715f97 with merge 76e77ec828027f688faaa615fabad5d641223a76... |
💔 Test failed - status-travis |
@bors retry macOS... spuriously canceled after 6 hours 😂 |
…, r=eddyb remove or encapsulate the remaining non-query data in tcx I wound up removing the existing cache around inhabitedness since it didn't seem to be adding much value. I reworked const rvalue promotion, but not that much (i.e., I did not split the computation into bits, as @eddyb had tossed out as a suggestion). But it's now demand driven, at least. cc @michaelwoerister -- see the `forbid_reads` change in last commit r? @eddyb -- since the trickiest of this PR is the work on const rvalue promotion cc #44137
☀️ Test successful - status-appveyor, status-travis |
Would it make sense to simplify the map returned by |
Use a `Set<T>` instead of a `Map<T, bool>` r? @nikomatsakis introduced in #44501
I wound up removing the existing cache around inhabitedness since it didn't seem to be adding much value. I reworked const rvalue promotion, but not that much (i.e., I did not split the computation into bits, as @eddyb had tossed out as a suggestion). But it's now demand driven, at least.
cc @michaelwoerister -- see the
forbid_reads
change in last commitr? @eddyb -- since the trickiest of this PR is the work on const rvalue promotion
cc #44137