Skip to content
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

stable_mir: Add MutMirVisitor #138536

Merged
merged 2 commits into from
Mar 22, 2025
Merged

stable_mir: Add MutMirVisitor #138536

merged 2 commits into from
Mar 22, 2025

Conversation

makai410
Copy link
Contributor

Resolves: rust-lang/project-stable-mir#81.

I am unsure if we should add a MutableBody like Kani did.
Currently, I use &mut Body in MutMirVisitor::visit_body().

r? @celinval

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 15, 2025
@rustbot
Copy link
Collaborator

rustbot commented Mar 15, 2025

This PR changes Stable MIR

cc @oli-obk, @celinval, @ouz-a

@celinval
Copy link
Contributor

Resolves: rust-lang/project-stable-mir#81.

I am unsure if we should add a MutableBody like Kani did. Currently, I use &mut Body in MutMirVisitor::visit_body().

I like the overall solution. I'll review the implementation when I'm in my laptop. Thanks!

Copy link
Contributor

@celinval celinval left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks! Please r=me after you change the visibility of the new body methods.

Implement `make_mir_visitor` macro to generate `MirVisitor` and `MutMirVisitor`.

Add `ret_local_mut()`, `arg_locals_mut()` and `inner_locals_mut()` to `Body`, specifically for `MutMirVisitor`.
@makai410
Copy link
Contributor Author

@bors r=celinval

@bors
Copy link
Contributor

bors commented Mar 18, 2025

@makai410: 🔑 Insufficient privileges: Not in reviewers

@makai410
Copy link
Contributor Author

Looks good! Thanks! Please r=me after you change the visibility of the new body methods.

Sorry that I am not a team member actually😥

@celinval
Copy link
Contributor

@bors r+ rollup

I didn't know you needed one.... Thanks again!

@bors
Copy link
Contributor

bors commented Mar 18, 2025

📌 Commit ad315f6 has been approved by celinval

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Mar 18, 2025

🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 18, 2025
jieyouxu added a commit to jieyouxu/rust that referenced this pull request Mar 20, 2025
stable_mir: Add `MutMirVisitor`

Resolves: [rust-lang/project-stable-mir#81](rust-lang/project-stable-mir#81).

I am unsure if we should add a `MutableBody` like Kani did.
Currently, I use `&mut Body` in `MutMirVisitor::visit_body()`.

r? `@celinval`
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 20, 2025
Rollup of 15 pull requests

Successful merges:

 - rust-lang#138321 ([bootstrap] Distribute split debuginfo if present)
 - rust-lang#138364 (ports the compiler test cases to new rust_intrinsic format)
 - rust-lang#138410 (Couple mir building cleanups)
 - rust-lang#138435 (Add support for postfix yield expressions)
 - rust-lang#138536 (stable_mir: Add `MutMirVisitor`)
 - rust-lang#138623 ([bootstrap] Use llvm_runtimes for compiler-rt)
 - rust-lang#138650 (Optimize `io::Write::write_fmt` for constant strings)
 - rust-lang#138652 (Reintroduce remote-test support in run-make tests)
 - rust-lang#138685 (Use `Option<Ident>` for lowered param names.)
 - rust-lang#138694 (Fix: add ohos target notes)
 - rust-lang#138700 (Suggest `-Whelp` when pass `--print lints` to rustc)
 - rust-lang#138709 (Update GCC submodule)
 - rust-lang#138724 (Check attrs: Don't try to retrieve the name of list stems)
 - rust-lang#138731 (coverage: Add LLVM plumbing for expansion regions)
 - rust-lang#138732 (Use `def_path_str` for def id arg in `UnsupportedOpInfo`)

r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol added a commit to Kobzol/rust that referenced this pull request Mar 21, 2025
stable_mir: Add `MutMirVisitor`

Resolves: [rust-lang/project-stable-mir#81](rust-lang/project-stable-mir#81).

I am unsure if we should add a `MutableBody` like Kani did.
Currently, I use `&mut Body` in `MutMirVisitor::visit_body()`.

r? ``@celinval``
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 21, 2025
stable_mir: Add `MutMirVisitor`

Resolves: [rust-lang/project-stable-mir#81](rust-lang/project-stable-mir#81).

I am unsure if we should add a `MutableBody` like Kani did.
Currently, I use `&mut Body` in `MutMirVisitor::visit_body()`.

r? ```@celinval```
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 21, 2025
stable_mir: Add `MutMirVisitor`

Resolves: [rust-lang/project-stable-mir#81](rust-lang/project-stable-mir#81).

I am unsure if we should add a `MutableBody` like Kani did.
Currently, I use `&mut Body` in `MutMirVisitor::visit_body()`.

r? ````@celinval````
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 22, 2025
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#136769 (Provide optional `Read`/`Write` methods for stdio)
 - rust-lang#138410 (Couple mir building cleanups)
 - rust-lang#138490 (Forward `stream_position` in `Arc<File>` as well)
 - rust-lang#138535 (Cleanup `LangString::parse`)
 - rust-lang#138536 (stable_mir: Add `MutMirVisitor`)
 - rust-lang#138673 (Fix build failure on Trusty)
 - rust-lang#138750 (Make `crate_hash` not iterate over `hir_crate` owners anymore)
 - rust-lang#138763 (jsondocck: Replace `jsonpath_lib` with `jsonpath-rust`)

r? `@ghost`
`@rustbot` modify labels: rollup
tgross35 added a commit to tgross35/rust that referenced this pull request Mar 22, 2025
stable_mir: Add `MutMirVisitor`

Resolves: [rust-lang/project-stable-mir#81](rust-lang/project-stable-mir#81).

I am unsure if we should add a `MutableBody` like Kani did.
Currently, I use `&mut Body` in `MutMirVisitor::visit_body()`.

r? `````@celinval`````
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 22, 2025
Rollup of 10 pull requests

Successful merges:

 - rust-lang#137736 (Don't attempt to export compiler-builtins symbols from rust dylibs)
 - rust-lang#138236 (uefi: Add OwnedEvent abstraction)
 - rust-lang#138321 ([bootstrap] Distribute split debuginfo if present)
 - rust-lang#138410 (Couple mir building cleanups)
 - rust-lang#138490 (Forward `stream_position` in `Arc<File>` as well)
 - rust-lang#138535 (Cleanup `LangString::parse`)
 - rust-lang#138536 (stable_mir: Add `MutMirVisitor`)
 - rust-lang#138580 (resolve: Avoid some unstable iteration 2)
 - rust-lang#138601 (add FCW to warn about wasm ABI transition)
 - rust-lang#138631 (Update test for SGX now implementing `read_buf`)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 22, 2025
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#138410 (Couple mir building cleanups)
 - rust-lang#138490 (Forward `stream_position` in `Arc<File>` as well)
 - rust-lang#138535 (Cleanup `LangString::parse`)
 - rust-lang#138536 (stable_mir: Add `MutMirVisitor`)
 - rust-lang#138673 (Fix build failure on Trusty)
 - rust-lang#138750 (Make `crate_hash` not iterate over `hir_crate` owners anymore)
 - rust-lang#138763 (jsondocck: Replace `jsonpath_lib` with `jsonpath-rust`)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 1cb17dd into rust-lang:master Mar 22, 2025
6 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 22, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Mar 22, 2025
Rollup merge of rust-lang#138536 - makai410:mut-mir-visitor, r=celinval

stable_mir: Add `MutMirVisitor`

Resolves: [rust-lang/project-stable-mir#81](rust-lang/project-stable-mir#81).

I am unsure if we should add a `MutableBody` like Kani did.
Currently, I use `&mut Body` in `MutMirVisitor::visit_body()`.

r? ``````@celinval``````
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a MutMirVisitor
4 participants