Remove rustc_middle::mir::tcx module.#137213
Merged
bors merged 1 commit intorust-lang:masterfrom Feb 19, 2025
Merged
Conversation
Collaborator
|
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
This comment has been minimized.
This comment has been minimized.
compiler-errors
approved these changes
Feb 18, 2025
Contributor
compiler-errors
left a comment
There was a problem hiding this comment.
My best guess w/o looking is that this is just an artifact from the early history of the module structure of mir::*.
Contributor
|
r? compiler-errors @bors r+ rollup |
Collaborator
Contributor
|
(AFAICT the CI failure was network related and not due to this PR) |
Urgau
added a commit
to Urgau/rust
that referenced
this pull request
Feb 18, 2025
…x, r=compiler-errors Remove `rustc_middle::mir::tcx` module. This is a really weird module. For example, what does `tcx` in `rustc_middle::mir::tcx::PlaceTy` mean? The answer is "not much". The top-level module comment says: > Methods for the various MIR types. These are intended for use after > building is complete. Awfully broad for a module that has a handful of impl blocks for some MIR types, none of which really relates to `TyCtxt`. `git blame` indicates the comment is ancient, from 2015, and made sense then. This module is now vestigial. This commit removes it and moves all the code within into `rustc_middle::mir::statement`. Some specifics: - `Place`, `PlaceRef`, `Rvalue`, `Operand`, `BorrowKind`: they all have `impl` blocks in both the `tcx` and `statement` modules. The commit merges the former into the latter. - `BinOp`, `UnOp`: they only have `impl` blocks in `tcx`. The commit moves these into `statement`. - `PlaceTy`, `RvalueInitializationState`: they are defined in `tcx`. This commit moves them into `statement` *and* makes them available in `mir::*`, like many other MIR types. r? `@tmandry`
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Feb 18, 2025
Rollup of 9 pull requests Successful merges: - rust-lang#137151 (Install more signal stack trace handlers) - rust-lang#137167 (tests: Also gate `f16::erfc()` doctest with `reliable_f16_math` cfg) - rust-lang#137195 (cg_clif: use exclusively ABI alignment) - rust-lang#137202 (Enforce T: Hash for Interned<...>) - rust-lang#137205 (Remove `std::os::wasi::fs::FileExt::tell`) - rust-lang#137211 (don't ICE for alias-relate goals with error term) - rust-lang#137213 (Remove `rustc_middle::mir::tcx` module.) - rust-lang#137214 (add last std diagnostic items for clippy) - rust-lang#137221 (Remove scrutinee_hir_id from ExprKind::Match) r? `@ghost` `@rustbot` modify labels: rollup
Member
|
Failed in #137226 (comment)
@bors r- |
This is a really weird module. For example, what does `tcx` in `rustc_middle::mir::tcx::PlaceTy` mean? The answer is "not much". The top-level module comment says: > Methods for the various MIR types. These are intended for use after > building is complete. Awfully broad for a module that has a handful of impl blocks for some MIR types, none of which really relates to `TyCtxt`. `git blame` indicates the comment is ancient, from 2015, and made sense then. This module is now vestigial. This commit removes it and moves all the code within into `rustc_middle::mir::statement`. Some specifics: - `Place`, `PlaceRef`, `Rvalue`, `Operand`, `BorrowKind`: they all have `impl` blocks in both the `tcx` and `statement` modules. The commit merges the former into the latter. - `BinOp`, `UnOp`: they only have `impl` blocks in `tcx`. The commit moves these into `statement`. - `PlaceTy`, `RvalueInitializationState`: they are defined in `tcx`. This commit moves them into `statement` *and* makes them available in `mir::*`, like many other MIR types.
527eada to
5d1551b
Compare
Collaborator
|
This PR changes MIR |
Contributor
Author
I fixed the rustdoc link error. That triggered this notification because there is now a single doc link change in a comment in @bors r=compiler-errors |
Collaborator
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Feb 19, 2025
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#136936 (Use 'yes' instead of 'while-echo' in tests/ui/process/process-sigpipe.rs except 'nto') - rust-lang#137026 (Stabilize (and const-stabilize) `integer_sign_cast`) - rust-lang#137059 (fix: Alloc new errorcode E0803 for E0495) - rust-lang#137177 (Update `minifier-rs` version to `0.3.5`) - rust-lang#137210 (compiler: Stop reexporting stuff in cg_llvm::abi) - rust-lang#137213 (Remove `rustc_middle::mir::tcx` module.) - rust-lang#137216 (eval_outlives: bail out early if both regions are in the same SCC) - rust-lang#137228 (Fix typo in hidden internal docs of `TrustedRandomAccess`) - rust-lang#137242 (Add reference annotations for the `do_not_recommend` attribute) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Feb 19, 2025
Rollup merge of rust-lang#137213 - nnethercote:rm-rustc_middle-mir-tcx, r=compiler-errors Remove `rustc_middle::mir::tcx` module. This is a really weird module. For example, what does `tcx` in `rustc_middle::mir::tcx::PlaceTy` mean? The answer is "not much". The top-level module comment says: > Methods for the various MIR types. These are intended for use after > building is complete. Awfully broad for a module that has a handful of impl blocks for some MIR types, none of which really relates to `TyCtxt`. `git blame` indicates the comment is ancient, from 2015, and made sense then. This module is now vestigial. This commit removes it and moves all the code within into `rustc_middle::mir::statement`. Some specifics: - `Place`, `PlaceRef`, `Rvalue`, `Operand`, `BorrowKind`: they all have `impl` blocks in both the `tcx` and `statement` modules. The commit merges the former into the latter. - `BinOp`, `UnOp`: they only have `impl` blocks in `tcx`. The commit moves these into `statement`. - `PlaceTy`, `RvalueInitializationState`: they are defined in `tcx`. This commit moves them into `statement` *and* makes them available in `mir::*`, like many other MIR types. r? `@tmandry`
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is a really weird module. For example, what does
tcxinrustc_middle::mir::tcx::PlaceTymean? The answer is "not much".The top-level module comment says:
Awfully broad for a module that has a handful of impl blocks for some MIR types, none of which really relates to
TyCtxt.git blameindicates the comment is ancient, from 2015, and made sense then.This module is now vestigial. This commit removes it and moves all the code within into
rustc_middle::mir::statement. Some specifics:Place,PlaceRef,Rvalue,Operand,BorrowKind: they all haveimplblocks in both thetcxandstatementmodules. The commit merges the former into the latter.BinOp,UnOp: they only haveimplblocks intcx. The commit moves these intostatement.PlaceTy,RvalueInitializationState: they are defined intcx. This commit moves them intostatementand makes them available inmir::*, like many other MIR types.r? @tmandry