about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2024-01-07 12:22:33 +0000
committerCamille GILLOT <gillot.camille@gmail.com>2024-01-11 09:58:22 +0000
commitbc35ee41fa6751a85a528656953b581fb02ddd25 (patch)
tree9cd177db52e15b06df230dac41e935c697278b50
parent974b727874b18a161c17fd0eaa4ca883d05bf19a (diff)
downloadrust-bc35ee41fa6751a85a528656953b581fb02ddd25.tar.gz
rust-bc35ee41fa6751a85a528656953b581fb02ddd25.zip
Do not run simplify_locals inside DSE.
The full pass is run short after.
-rw-r--r--compiler/rustc_mir_transform/src/dead_store_elimination.rs2
-rw-r--r--tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-abort.diff4
-rw-r--r--tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-unwind.diff4
-rw-r--r--tests/mir-opt/dead-store-elimination/cycle.cycle.DeadStoreElimination-initial.diff6
4 files changed, 9 insertions, 7 deletions
diff --git a/compiler/rustc_mir_transform/src/dead_store_elimination.rs b/compiler/rustc_mir_transform/src/dead_store_elimination.rs
index 9dd5aa4c8bd..c27718d7bda 100644
--- a/compiler/rustc_mir_transform/src/dead_store_elimination.rs
+++ b/compiler/rustc_mir_transform/src/dead_store_elimination.rs
@@ -123,8 +123,6 @@ pub fn eliminate<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
         let Operand::Copy(place) = *arg else { bug!() };
         *arg = Operand::Move(place);
     }
-
-    crate::simplify::simplify_locals(body, tcx)
 }
 
 pub enum DeadStoreElimination {
diff --git a/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-abort.diff b/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-abort.diff
index 268924b7c5d..f9bc9405d6a 100644
--- a/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-abort.diff
+++ b/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-abort.diff
@@ -5,8 +5,8 @@
       debug x => _1;
       let mut _0: ();
       let _2: ();
--     let mut _3: i32;
--     let mut _4: i32;
+      let mut _3: i32;
+      let mut _4: i32;
   
       bb0: {
           StorageLive(_2);
diff --git a/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-unwind.diff b/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-unwind.diff
index bd754f9ebd4..efe165422d9 100644
--- a/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-unwind.diff
+++ b/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-unwind.diff
@@ -5,8 +5,8 @@
       debug x => _1;
       let mut _0: ();
       let _2: ();
--     let mut _3: i32;
--     let mut _4: i32;
+      let mut _3: i32;
+      let mut _4: i32;
   
       bb0: {
           StorageLive(_2);
diff --git a/tests/mir-opt/dead-store-elimination/cycle.cycle.DeadStoreElimination-initial.diff b/tests/mir-opt/dead-store-elimination/cycle.cycle.DeadStoreElimination-initial.diff
index f13588c3aa4..2766b6ce6a9 100644
--- a/tests/mir-opt/dead-store-elimination/cycle.cycle.DeadStoreElimination-initial.diff
+++ b/tests/mir-opt/dead-store-elimination/cycle.cycle.DeadStoreElimination-initial.diff
@@ -4,7 +4,7 @@
   fn cycle(_1: i32, _2: i32, _3: i32) -> () {
       let mut _0: ();
       let mut _4: bool;
--     let mut _5: i32;
+      let mut _5: i32;
   
       bb0: {
           _4 = cond() -> [return: bb1, unwind continue];
@@ -19,6 +19,10 @@
 -         _3 = _2;
 -         _2 = _1;
 -         _1 = _5;
++         nop;
++         nop;
++         nop;
++         nop;
           _4 = cond() -> [return: bb1, unwind continue];
       }