about summary refs log tree commit diff
path: root/tests/mir-opt/issues
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2023-01-12 20:04:42 +0000
committerCamille GILLOT <gillot.camille@gmail.com>2023-10-06 15:46:11 +0000
commit27d6a57e5821c8b7f5c8b049e36b856ed9440bfe (patch)
tree1e7ecfcfc3c9055313b5cc07d6b0addd58f02df8 /tests/mir-opt/issues
parent1bc0463b183392ad4e0ae9c5f7a76630d487230d (diff)
downloadrust-27d6a57e5821c8b7f5c8b049e36b856ed9440bfe.tar.gz
rust-27d6a57e5821c8b7f5c8b049e36b856ed9440bfe.zip
Preserve DebugInfo in DeadStoreElimination.
Diffstat (limited to 'tests/mir-opt/issues')
-rw-r--r--tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-abort.mir45
-rw-r--r--tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-unwind.mir45
2 files changed, 46 insertions, 44 deletions
diff --git a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-abort.mir b/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-abort.mir
index 55ccf6a8b45..5d25c655700 100644
--- a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-abort.mir
+++ b/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-abort.mir
@@ -3,60 +3,61 @@
 fn num_to_digit(_1: char) -> u32 {
     debug num => _1;
     let mut _0: u32;
-    let mut _4: std::option::Option<u32>;
+    let mut _5: std::option::Option<u32>;
     scope 1 (inlined char::methods::<impl char>::is_digit) {
         debug self => _1;
         debug radix => const 8_u32;
         let _2: std::option::Option<u32>;
-        let mut _7: &std::option::Option<u32>;
+        let mut _3: &std::option::Option<u32>;
         scope 2 (inlined Option::<u32>::is_some) {
-            debug self => _7;
-            let mut _3: isize;
+            debug self => _3;
+            let mut _4: isize;
         }
     }
     scope 3 (inlined #[track_caller] Option::<u32>::unwrap) {
-        debug self => _4;
-        let mut _5: isize;
-        let mut _6: !;
+        debug self => _5;
+        let mut _6: isize;
+        let mut _7: !;
         scope 4 {
             debug val => _0;
         }
     }
 
     bb0: {
-        StorageLive(_7);
+        StorageLive(_3);
         StorageLive(_2);
         _2 = char::methods::<impl char>::to_digit(_1, const 8_u32) -> [return: bb1, unwind unreachable];
     }
 
     bb1: {
-        StorageLive(_3);
-        _3 = discriminant(_2);
-        StorageDead(_7);
+        _3 = &_2;
+        StorageLive(_4);
+        _4 = discriminant(_2);
+        StorageDead(_3);
         StorageDead(_2);
-        switchInt(move _3) -> [1: bb2, otherwise: bb7];
+        switchInt(move _4) -> [1: bb2, otherwise: bb7];
     }
 
     bb2: {
-        StorageDead(_3);
-        StorageLive(_4);
-        _4 = char::methods::<impl char>::to_digit(move _1, const 8_u32) -> [return: bb3, unwind unreachable];
+        StorageDead(_4);
+        StorageLive(_5);
+        _5 = char::methods::<impl char>::to_digit(move _1, const 8_u32) -> [return: bb3, unwind unreachable];
     }
 
     bb3: {
-        StorageLive(_5);
-        _5 = discriminant(_4);
-        switchInt(move _5) -> [0: bb4, 1: bb5, otherwise: bb6];
+        StorageLive(_6);
+        _6 = discriminant(_5);
+        switchInt(move _6) -> [0: bb4, 1: bb5, otherwise: bb6];
     }
 
     bb4: {
-        _6 = core::panicking::panic(const "called `Option::unwrap()` on a `None` value") -> unwind unreachable;
+        _7 = core::panicking::panic(const "called `Option::unwrap()` on a `None` value") -> unwind unreachable;
     }
 
     bb5: {
-        _0 = move ((_4 as Some).0: u32);
+        _0 = move ((_5 as Some).0: u32);
+        StorageDead(_6);
         StorageDead(_5);
-        StorageDead(_4);
         goto -> bb8;
     }
 
@@ -65,7 +66,7 @@ fn num_to_digit(_1: char) -> u32 {
     }
 
     bb7: {
-        StorageDead(_3);
+        StorageDead(_4);
         _0 = const 0_u32;
         goto -> bb8;
     }
diff --git a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-unwind.mir
index cb70a83e7f8..4677c0108e3 100644
--- a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-unwind.mir
+++ b/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-unwind.mir
@@ -3,60 +3,61 @@
 fn num_to_digit(_1: char) -> u32 {
     debug num => _1;
     let mut _0: u32;
-    let mut _4: std::option::Option<u32>;
+    let mut _5: std::option::Option<u32>;
     scope 1 (inlined char::methods::<impl char>::is_digit) {
         debug self => _1;
         debug radix => const 8_u32;
         let _2: std::option::Option<u32>;
-        let mut _7: &std::option::Option<u32>;
+        let mut _3: &std::option::Option<u32>;
         scope 2 (inlined Option::<u32>::is_some) {
-            debug self => _7;
-            let mut _3: isize;
+            debug self => _3;
+            let mut _4: isize;
         }
     }
     scope 3 (inlined #[track_caller] Option::<u32>::unwrap) {
-        debug self => _4;
-        let mut _5: isize;
-        let mut _6: !;
+        debug self => _5;
+        let mut _6: isize;
+        let mut _7: !;
         scope 4 {
             debug val => _0;
         }
     }
 
     bb0: {
-        StorageLive(_7);
+        StorageLive(_3);
         StorageLive(_2);
         _2 = char::methods::<impl char>::to_digit(_1, const 8_u32) -> [return: bb1, unwind continue];
     }
 
     bb1: {
-        StorageLive(_3);
-        _3 = discriminant(_2);
-        StorageDead(_7);
+        _3 = &_2;
+        StorageLive(_4);
+        _4 = discriminant(_2);
+        StorageDead(_3);
         StorageDead(_2);
-        switchInt(move _3) -> [1: bb2, otherwise: bb7];
+        switchInt(move _4) -> [1: bb2, otherwise: bb7];
     }
 
     bb2: {
-        StorageDead(_3);
-        StorageLive(_4);
-        _4 = char::methods::<impl char>::to_digit(move _1, const 8_u32) -> [return: bb3, unwind continue];
+        StorageDead(_4);
+        StorageLive(_5);
+        _5 = char::methods::<impl char>::to_digit(move _1, const 8_u32) -> [return: bb3, unwind continue];
     }
 
     bb3: {
-        StorageLive(_5);
-        _5 = discriminant(_4);
-        switchInt(move _5) -> [0: bb4, 1: bb5, otherwise: bb6];
+        StorageLive(_6);
+        _6 = discriminant(_5);
+        switchInt(move _6) -> [0: bb4, 1: bb5, otherwise: bb6];
     }
 
     bb4: {
-        _6 = core::panicking::panic(const "called `Option::unwrap()` on a `None` value") -> unwind continue;
+        _7 = core::panicking::panic(const "called `Option::unwrap()` on a `None` value") -> unwind continue;
     }
 
     bb5: {
-        _0 = move ((_4 as Some).0: u32);
+        _0 = move ((_5 as Some).0: u32);
+        StorageDead(_6);
         StorageDead(_5);
-        StorageDead(_4);
         goto -> bb8;
     }
 
@@ -65,7 +66,7 @@ fn num_to_digit(_1: char) -> u32 {
     }
 
     bb7: {
-        StorageDead(_3);
+        StorageDead(_4);
         _0 = const 0_u32;
         goto -> bb8;
     }