Uh oh!
There was an error while loading. Please reload this page.
Index and hash HIR as part of lowering - #89124
Conversation
rust-highfive
commented
Sep 20, 2021
Some changes occurred in src/tools/clippy. cc @rust-lang/clippy |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
cjgillot
commented
Sep 21, 2021
@bors try @rust-timer queue |
rust-timer
commented
Sep 21, 2021
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
bors
commented
Sep 21, 2021
⌛ Trying commit 701098f9476dcab4555517d26abe5d1050c2b899 with merge 5395b5fa9aea18700afc4e5ac3e94a260e124494... |
bors
commented
Sep 21, 2021
☀️ Try build successful - checks-actions |
rust-timer
commented
Sep 21, 2021
Queued 5395b5fa9aea18700afc4e5ac3e94a260e124494 with parent 49c0861, future comparison URL. |
rust-timer
commented
Sep 21, 2021
Finished benchmarking commit (5395b5fa9aea18700afc4e5ac3e94a260e124494): comparison url. Summary: This change led to very large relevant mixed results 🤷 in compiler performance.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR led to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never |
michaelwoerister
commented
Sep 22, 2021
Thanks, @cjgillot, I've blocked off some time to review this tomorrow. |
michaelwoerister
commented
Sep 23, 2021
This looks pretty promising
Is this still based on pending PRs? If yes, would you mind listing them? If no, please rebase. |
michaelwoerister
left a comment
There was a problem hiding this comment.
This is not a complete review. Just leaving a few comments.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
michaelwoerister
commented
Sep 23, 2021
Do we have a high-level description of what the lowering process and query setup will look like after rust-lang/compiler-team#452? |
cjgillot
commented
Sep 23, 2021
I added a summary description in #88186 description. |
This comment has been minimized.
This comment has been minimized.
michaelwoerister
commented
Oct 18, 2021
@bors r+ |
bors
commented
Oct 18, 2021
📌 Commit 1e2dbb5 has been approved by |
bors
commented
Oct 18, 2021
bors
commented
Oct 18, 2021
☀️ Test successful - checks-actions |
rust-timer
commented
Oct 19, 2021
Finished benchmarking commit (bd41e09): comparison url. Summary: This change led to very large relevant mixed results 🤷 in compiler performance.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression |
rylev
commented
Oct 20, 2021
@cjgillot@michaelwoerister this indeed looks like a pretty significant regression. The |
michaelwoerister
commented
Oct 21, 2021
My reading of the results was: this regresses two small, synthetic benchmarks while improving performance for many real-world benchmarks. That seemed like a good tradeoff. |
rylev
commented
Oct 25, 2021
@michaelwoerister that's certainly reasonable, but two thoughts to add there:
In my opinion, we should look into this regression or at the very least have a larger discussion about how to interpret these types of regressions. In the future, the plan is to make regressions such as this one block bors from merging without an explicit opting out. |
the8472
commented
Nov 2, 2021
This PR also regressed max-rss across several benchmarks. It's not noise, as can be seen in the stm32f4 timelines which are low-noise for max-rss benchmarks. |
Move ICH to rustc_query_system Based on rust-lang/rust#89183 The StableHashingContext does not need to be in rustc_middle. This PR moves it to rustc_query_system. This will avoid a dependency between rustc_ast_lowering and rustc_middle in rust-lang/rust#89124.
Move ICH to rustc_query_system Based on rust-lang/rust#89183 The StableHashingContext does not need to be in rustc_middle. This PR moves it to rustc_query_system. This will avoid a dependency between rustc_ast_lowering and rustc_middle in rust-lang/rust#89124.
Part of #88186
Based on #88880 (see merge commit).Once HIR is lowered, it is later indexed by the
index_hirquery and hashed forcrate_hash. This PR moves those post-processing steps to lowering itself. As a side objective, the HIR crate data structure is refactored as anIndexVec<LocalDefId, Option<OwnerInfo<'hir>>>whereOwnerInfostores all the relevant information for an HIR owner.r? @michaelwoerister
cc @petrochenkov