about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/nrvo.rs
diff options
context:
space:
mode:
authorJakob Degen <jakob.e.degen@gmail.com>2022-08-02 20:06:16 -0700
committerJakob Degen <jakob.e.degen@gmail.com>2022-08-09 01:51:10 -0700
commit7547084ff673dcfdb2c6bcf7dc7a81190513ed40 (patch)
tree5e06843b9fa144f450561157dcf0aa9bd3fd378d /compiler/rustc_mir_transform/src/nrvo.rs
parent9ee22ff7e82a0a806de72516a6a942bad2202dca (diff)
downloadrust-7547084ff673dcfdb2c6bcf7dc7a81190513ed40.tar.gz
rust-7547084ff673dcfdb2c6bcf7dc7a81190513ed40.zip
Add option to `mir::MutVisitor` to not invalidate CFG.
This also applies that option to some uses of the visitor
Diffstat (limited to 'compiler/rustc_mir_transform/src/nrvo.rs')
-rw-r--r--compiler/rustc_mir_transform/src/nrvo.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_mir_transform/src/nrvo.rs b/compiler/rustc_mir_transform/src/nrvo.rs
index bb063915f55..42d732730ec 100644
--- a/compiler/rustc_mir_transform/src/nrvo.rs
+++ b/compiler/rustc_mir_transform/src/nrvo.rs
@@ -53,10 +53,10 @@ impl<'tcx> MirPass<'tcx> for RenameReturnPlace {
             def_id, returned_local
         );
 
-        RenameToReturnPlace { tcx, to_rename: returned_local }.visit_body(body);
+        RenameToReturnPlace { tcx, to_rename: returned_local }.visit_body_preserves_cfg(body);
 
         // Clean up the `NOP`s we inserted for statements made useless by our renaming.
-        for block_data in body.basic_blocks_mut() {
+        for block_data in body.basic_blocks.as_mut_preserves_cfg() {
             block_data.statements.retain(|stmt| stmt.kind != mir::StatementKind::Nop);
         }