stable_mir: Add MutMirVisitor#138536
Conversation
I like the overall solution. I'll review the implementation when I'm in my laptop. Thanks! |
celinval
left a comment
There was a problem hiding this comment.
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`.
564b28a to
ad315f6
Compare
|
@bors r=celinval |
|
@makai410: 🔑 Insufficient privileges: Not in reviewers |
Sorry that I am not a team member actually😥 |
|
@bors r+ rollup I didn't know you needed one.... Thanks again! |
|
🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened. |
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`
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
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``
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```
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````
…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
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`````
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
…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
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``````
…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
Resolves: rust-lang/project-stable-mir#81.
I am unsure if we should add a
MutableBodylike Kani did.Currently, I use
&mut BodyinMutMirVisitor::visit_body().r? @celinval