about summary refs log tree commit diff
path: root/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir')
-rw-r--r--tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir141
1 files changed, 61 insertions, 80 deletions
diff --git a/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir
index 70cdf3f41c2..8491c49f767 100644
--- a/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir
+++ b/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir
@@ -4,147 +4,128 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
     debug slice => _1;
     debug f => _2;
     let mut _0: ();
-    let mut _13: std::slice::Iter<'_, T>;
+    let mut _12: std::slice::Iter<'_, T>;
+    let mut _13: std::iter::Enumerate<std::slice::Iter<'_, T>>;
     let mut _14: std::iter::Enumerate<std::slice::Iter<'_, T>>;
-    let mut _15: std::iter::Enumerate<std::slice::Iter<'_, T>>;
-    let mut _16: &mut std::iter::Enumerate<std::slice::Iter<'_, T>>;
-    let mut _17: std::option::Option<(usize, &T)>;
-    let mut _18: isize;
-    let mut _21: &impl Fn(usize, &T);
-    let mut _22: (usize, &T);
-    let _23: ();
+    let mut _15: &mut std::iter::Enumerate<std::slice::Iter<'_, T>>;
+    let mut _16: std::option::Option<(usize, &T)>;
+    let mut _17: isize;
+    let mut _20: &impl Fn(usize, &T);
+    let mut _21: (usize, &T);
+    let _22: ();
     scope 1 {
-        debug iter => _15;
-        let _19: usize;
-        let _20: &T;
+        debug iter => _14;
+        let _18: usize;
+        let _19: &T;
         scope 2 {
-            debug i => _19;
-            debug x => _20;
+            debug i => _18;
+            debug x => _19;
         }
     }
     scope 3 (inlined core::slice::<impl [T]>::iter) {
-        debug self => _1;
         scope 4 (inlined std::slice::Iter::<'_, T>::new) {
-            debug slice => _1;
             let _3: usize;
-            let mut _5: std::ptr::NonNull<[T]>;
-            let mut _8: bool;
+            let mut _7: bool;
+            let mut _8: *mut T;
             let mut _9: *mut T;
-            let mut _10: *mut T;
-            let mut _12: *const T;
+            let mut _11: *const T;
             scope 5 {
-                debug len => _3;
-                let _7: std::ptr::NonNull<T>;
+                let _6: std::ptr::NonNull<T>;
                 scope 6 {
-                    debug ptr => _7;
-                    let _11: *const T;
+                    let _10: *const T;
                     scope 7 {
-                        debug end_or_len => _11;
                     }
                     scope 11 (inlined without_provenance::<T>) {
-                        debug addr => _3;
                     }
                     scope 12 (inlined NonNull::<T>::as_ptr) {
-                        debug self => _7;
                     }
                     scope 13 (inlined std::ptr::mut_ptr::<impl *mut T>::add) {
-                        debug self => _9;
-                        debug count => _3;
                     }
                 }
                 scope 8 (inlined <NonNull<[T]> as From<&[T]>>::from) {
-                    debug reference => _1;
                     let mut _4: *const [T];
                 }
                 scope 9 (inlined NonNull::<[T]>::cast::<T>) {
-                    debug self => _5;
-                    let mut _6: *const T;
+                    let mut _5: *const T;
                     scope 10 (inlined NonNull::<[T]>::as_ptr) {
-                        debug self => _5;
                     }
                 }
             }
         }
     }
     scope 14 (inlined <std::slice::Iter<'_, T> as Iterator>::enumerate) {
-        debug self => _13;
         scope 15 (inlined Enumerate::<std::slice::Iter<'_, T>>::new) {
-            debug iter => _13;
         }
     }
     scope 16 (inlined <Enumerate<std::slice::Iter<'_, T>> as IntoIterator>::into_iter) {
-        debug self => _14;
     }
 
     bb0: {
-        StorageLive(_13);
+        StorageLive(_12);
         StorageLive(_3);
-        StorageLive(_7);
-        StorageLive(_4);
         StorageLive(_6);
-        _3 = Len((*_1));
+        StorageLive(_4);
         StorageLive(_5);
+        _3 = Len((*_1));
         _4 = &raw const (*_1);
-        _5 = NonNull::<[T]> { pointer: _4 };
-        _6 = _4 as *const T (PtrToPtr);
-        _7 = NonNull::<T> { pointer: _6 };
-        StorageDead(_5);
-        StorageLive(_11);
-        StorageLive(_8);
-        _8 = const <T as std::mem::SizedTypeProperties>::IS_ZST;
-        switchInt(move _8) -> [0: bb1, otherwise: bb2];
+        _5 = _4 as *const T (PtrToPtr);
+        _6 = NonNull::<T> { pointer: _5 };
+        StorageLive(_10);
+        StorageLive(_7);
+        _7 = const <T as std::mem::SizedTypeProperties>::IS_ZST;
+        switchInt(move _7) -> [0: bb1, otherwise: bb2];
     }
 
     bb1: {
-        StorageLive(_10);
         StorageLive(_9);
-        _9 = _4 as *mut T (PtrToPtr);
-        _10 = Offset(_9, _3);
+        StorageLive(_8);
+        _8 = _4 as *mut T (PtrToPtr);
+        _9 = Offset(_8, _3);
+        StorageDead(_8);
+        _10 = move _9 as *const T (PointerCoercion(MutToConstPointer));
         StorageDead(_9);
-        _11 = move _10 as *const T (PointerCoercion(MutToConstPointer));
-        StorageDead(_10);
         goto -> bb3;
     }
 
     bb2: {
-        _11 = _3 as *const T (Transmute);
+        _10 = _3 as *const T (Transmute);
         goto -> bb3;
     }
 
     bb3: {
-        StorageDead(_8);
-        StorageLive(_12);
-        _12 = _11;
-        _13 = std::slice::Iter::<'_, T> { ptr: _7, end_or_len: move _12, _marker: const ZeroSized: PhantomData<&T> };
-        StorageDead(_12);
+        StorageDead(_7);
+        StorageLive(_11);
+        _11 = _10;
+        _12 = std::slice::Iter::<'_, T> { ptr: _6, end_or_len: move _11, _marker: const ZeroSized: PhantomData<&T> };
         StorageDead(_11);
-        StorageDead(_6);
+        StorageDead(_10);
+        StorageDead(_5);
         StorageDead(_4);
-        StorageDead(_7);
+        StorageDead(_6);
         StorageDead(_3);
-        _14 = Enumerate::<std::slice::Iter<'_, T>> { iter: _13, count: const 0_usize };
-        StorageDead(_13);
-        StorageLive(_15);
-        _15 = _14;
+        _13 = Enumerate::<std::slice::Iter<'_, T>> { iter: _12, count: const 0_usize };
+        StorageDead(_12);
+        StorageLive(_14);
+        _14 = _13;
         goto -> bb4;
     }
 
     bb4: {
-        StorageLive(_17);
         StorageLive(_16);
-        _16 = &mut _15;
-        _17 = <Enumerate<std::slice::Iter<'_, T>> as Iterator>::next(move _16) -> [return: bb5, unwind: bb11];
+        StorageLive(_15);
+        _15 = &mut _14;
+        _16 = <Enumerate<std::slice::Iter<'_, T>> as Iterator>::next(move _15) -> [return: bb5, unwind: bb11];
     }
 
     bb5: {
-        StorageDead(_16);
-        _18 = discriminant(_17);
-        switchInt(move _18) -> [0: bb6, 1: bb8, otherwise: bb10];
+        StorageDead(_15);
+        _17 = discriminant(_16);
+        switchInt(move _17) -> [0: bb6, 1: bb8, otherwise: bb10];
     }
 
     bb6: {
-        StorageDead(_17);
-        StorageDead(_15);
+        StorageDead(_16);
+        StorageDead(_14);
         drop(_2) -> [return: bb7, unwind continue];
     }
 
@@ -153,19 +134,19 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
     }
 
     bb8: {
-        _19 = (((_17 as Some).0: (usize, &T)).0: usize);
-        _20 = (((_17 as Some).0: (usize, &T)).1: &T);
+        _18 = (((_16 as Some).0: (usize, &T)).0: usize);
+        _19 = (((_16 as Some).0: (usize, &T)).1: &T);
+        StorageLive(_20);
+        _20 = &_2;
         StorageLive(_21);
-        _21 = &_2;
-        StorageLive(_22);
-        _22 = (_19, _20);
-        _23 = <impl Fn(usize, &T) as Fn<(usize, &T)>>::call(move _21, move _22) -> [return: bb9, unwind: bb11];
+        _21 = (_18, _19);
+        _22 = <impl Fn(usize, &T) as Fn<(usize, &T)>>::call(move _20, move _21) -> [return: bb9, unwind: bb11];
     }
 
     bb9: {
-        StorageDead(_22);
         StorageDead(_21);
-        StorageDead(_17);
+        StorageDead(_20);
+        StorageDead(_16);
         goto -> bb4;
     }