You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EDIT:
WHELP, forgot to rebase to beta. brb in a few.
Was poking around and found that there are only 8 variants that need SimplifyCfg in compiler/rustc_mir_transforms/ - I think they can be shoved into an enum and earn some perf due to reduced (arena) allocations/fetching and compacting.
10 │ //! On the other side of the spectrum, the `SimplifyCfg` pass is considerably cheap to run, thus
11 │ //! one should run it after every pass which may modify CFG in significant ways. This pass must
12 │ //! also be run before any analysis passes because it removes dead blocks, and some of these can be
13 │ //! ill-typed.
so I'm hoping for some low-hanging perf fruits here, but the benchmarks will tell.
I plan to also intern the SimplifyConstCondition, but this had tests passing locally so I wanted to push it now.
This is my first rust-lang PR, any feedback is appreciated. Thanks!
rustbot
added
A-query-system
Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)
A-testsuite
Area: The testsuite used to check the correctness of rustc
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
T-bootstrap
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-infra
Relevant to the infrastructure team, which will review and decide on the PR/issue.
T-libs
Relevant to the library team, which will review and decide on the PR/issue.
T-release
Relevant to the release subteam, which will review and decide on the PR/issue.
T-rustdoc
Relevant to the rustdoc team, which will review and decide on the PR/issue.
labels
Feb 14, 2023
These commits modify the Cargo.lock file. Random changes to Cargo.lock can be introduced when switching branches and rebasing PRs.
This was probably unintentional and should be reverted before this PR is merged.
If this was intentional then you can ignore this comment.
Some changes occurred to MIR optimizations
cc @rust-lang/wg-mir-opt
Hey! It looks like you've submitted a new PR for the library teams!
If this PR contains changes to any rust-lang/rust public library APIs then please comment with @rustbot label +T-libs-api -T-libs to tag it appropriately. If this PR contains changes to any unstable APIs please edit the PR description to add a link to the relevant API Change Proposal or create one if you haven't already. If you're unsure where your change falls no worries, just leave it as is and the reviewer will take a look and make a decision to forward on if necessary.
Examples of T-libs-api changes:
Stabilizing library features
Introducing insta-stable changes such as new implementations of existing stable traits on existing stable types
Introducing new or changing existing unstable library APIs (excluding permanently unstable features / features without a tracking issue)
Changing public documentation in ways that create new stability guarantees
Changing observable runtime behavior of library APIs
This file contains hidden or 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
A-query-systemArea: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)A-testsuiteArea: The testsuite used to check the correctness of rustcS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-releaseRelevant to the release subteam, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
4 participants
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.
EDIT:
WHELP, forgot to rebase to beta. brb in a few.
Was poking around and found that there are only 8 variants that need
SimplifyCfgincompiler/rustc_mir_transforms/- I think they can be shoved into an enum and earn some perf due to reduced (arena) allocations/fetching and compacting.The variants are
Note that a comment in
simplify.rssaysso I'm hoping for some low-hanging perf fruits here, but the benchmarks will tell.
I plan to also intern the
SimplifyConstCondition, but this had tests passing locally so I wanted to push it now.This is my first
rust-langPR, any feedback is appreciated. Thanks!