1- // MIR for `test` before SimplifyComparisonIntegral
2+ // MIR for `test` after SimplifyComparisonIntegral
3
4  fn test(_1: T) -> () {
5      debug x => _1;                       // in scope 0 at $DIR/issue_76432.rs:6:38: 6:39
6      let mut _0: ();                      // return place in scope 0 at $DIR/issue_76432.rs:6:44: 6:44
7      let _2: &[T];                        // in scope 0 at $DIR/issue_76432.rs:7:9: 7:10
8      let mut _3: &[T; 3];                 // in scope 0 at $DIR/issue_76432.rs:7:19: 7:29
9      let _4: &[T; 3];                     // in scope 0 at $DIR/issue_76432.rs:7:19: 7:29
10      let _5: [T; 3];                      // in scope 0 at $DIR/issue_76432.rs:7:20: 7:29
11      let mut _6: T;                       // in scope 0 at $DIR/issue_76432.rs:7:21: 7:22
12      let mut _7: T;                       // in scope 0 at $DIR/issue_76432.rs:7:24: 7:25
13      let mut _8: T;                       // in scope 0 at $DIR/issue_76432.rs:7:27: 7:28
14      let _9: [*const T; 3];               // in scope 0 at $DIR/issue_76432.rs:8:5: 11:6
15      let mut _10: usize;                  // in scope 0 at $DIR/issue_76432.rs:9:9: 9:33
16      let mut _11: usize;                  // in scope 0 at $DIR/issue_76432.rs:9:9: 9:33
17      let mut _12: bool;                   // in scope 0 at $DIR/issue_76432.rs:9:9: 9:33
18      let mut _16: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:38: 9:52
19      let mut _17: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:38: 9:52
20      let mut _18: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:54: 9:68
21      let mut _19: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:54: 9:68
22      let mut _20: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:70: 9:84
23      let mut _21: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:70: 9:84
24      let mut _22: !;                      // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
25      let mut _23: &[T; 3];                // in scope 0 at $DIR/issue_76432.rs:7:19: 7:29
26      scope 1 {
27          debug v => _2;                   // in scope 1 at $DIR/issue_76432.rs:7:9: 7:10
28          let _13: &T;                     // in scope 1 at $DIR/issue_76432.rs:9:10: 9:16
29          let _14: &T;                     // in scope 1 at $DIR/issue_76432.rs:9:18: 9:24
30          let _15: &T;                     // in scope 1 at $DIR/issue_76432.rs:9:26: 9:32
31          scope 2 {
32              debug v1 => _13;             // in scope 2 at $DIR/issue_76432.rs:9:10: 9:16
33              debug v2 => _14;             // in scope 2 at $DIR/issue_76432.rs:9:18: 9:24
34              debug v3 => _15;             // in scope 2 at $DIR/issue_76432.rs:9:26: 9:32
35          }
36      }
37
38      bb0: {
39          StorageLive(_2);                 // scope 0 at $DIR/issue_76432.rs:7:9: 7:10
40          StorageLive(_3);                 // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
41          StorageLive(_4);                 // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
42          StorageLive(_5);                 // scope 0 at $DIR/issue_76432.rs:7:20: 7:29
43          StorageLive(_6);                 // scope 0 at $DIR/issue_76432.rs:7:21: 7:22
44          _6 = _1;                         // scope 0 at $DIR/issue_76432.rs:7:21: 7:22
45          StorageLive(_7);                 // scope 0 at $DIR/issue_76432.rs:7:24: 7:25
46          _7 = _1;                         // scope 0 at $DIR/issue_76432.rs:7:24: 7:25
47          StorageLive(_8);                 // scope 0 at $DIR/issue_76432.rs:7:27: 7:28
48          _8 = _1;                         // scope 0 at $DIR/issue_76432.rs:7:27: 7:28
49          _5 = [move _6, move _7, move _8]; // scope 0 at $DIR/issue_76432.rs:7:20: 7:29
50          StorageDead(_8);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
51          StorageDead(_7);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
52          StorageDead(_6);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
53          _4 = &_5;                        // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
54          _3 = _4;                         // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
55          StorageLive(_23);                // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
56          _23 = _3;                        // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
57          _2 = move _3 as &[T] (Pointer(Unsize)); // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
58          StorageDead(_3);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
59          StorageDead(_4);                 // scope 0 at $DIR/issue_76432.rs:7:29: 7:30
60          StorageLive(_9);                 // scope 1 at $DIR/issue_76432.rs:8:5: 11:6
61          _10 = const 3_usize;             // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
62          StorageDead(_23);                // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
63          _11 = const 3_usize;             // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
64          _12 = const true;                // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
65          goto -> bb2;                     // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
66      }
67
68      bb1: {
69          StorageLive(_22);                // scope 1 at $SRC_DIR/core/src/panic.rs:LL:COL
70          core::panicking::panic(const "internal error: entered unreachable code"); // scope 1 at $SRC_DIR/core/src/panic.rs:LL:COL
71                                           // mir::Constant
72                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
73                                           // + literal: Const { ty: fn(&'static str) -> ! {core::panicking::panic}, val: Value(Scalar(<ZST>)) }
74                                           // ty::Const
75                                           // + ty: &str
76                                           // + val: Value(Slice { data: Allocation { bytes: [105, 110, 116, 101, 114, 110, 97, 108, 32, 101, 114, 114, 111, 114, 58, 32, 101, 110, 116, 101, 114, 101, 100, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 32, 99, 111, 100, 101], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [1099511627775], len: Size { raw: 40 } }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 40 })
77                                           // mir::Constant
78                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
79                                           // + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [105, 110, 116, 101, 114, 110, 97, 108, 32, 101, 114, 114, 111, 114, 58, 32, 101, 110, 116, 101, 114, 101, 100, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 32, 99, 111, 100, 101], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [1099511627775], len: Size { raw: 40 } }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 40 }) }
80      }
81
82      bb2: {
83          StorageLive(_13);                // scope 1 at $DIR/issue_76432.rs:9:10: 9:16
84          _13 = &(*_2)[0 of 3];            // scope 1 at $DIR/issue_76432.rs:9:10: 9:16
85          StorageLive(_14);                // scope 1 at $DIR/issue_76432.rs:9:18: 9:24
86          _14 = &(*_2)[1 of 3];            // scope 1 at $DIR/issue_76432.rs:9:18: 9:24
87          StorageLive(_15);                // scope 1 at $DIR/issue_76432.rs:9:26: 9:32
88          _15 = &(*_2)[2 of 3];            // scope 1 at $DIR/issue_76432.rs:9:26: 9:32
89          StorageLive(_16);                // scope 2 at $DIR/issue_76432.rs:9:38: 9:52
90          StorageLive(_17);                // scope 2 at $DIR/issue_76432.rs:9:38: 9:52
91          _17 = &raw const (*_13);         // scope 2 at $DIR/issue_76432.rs:9:38: 9:40
92          _16 = _17;                       // scope 2 at $DIR/issue_76432.rs:9:38: 9:52
93          StorageLive(_18);                // scope 2 at $DIR/issue_76432.rs:9:54: 9:68
94          StorageLive(_19);                // scope 2 at $DIR/issue_76432.rs:9:54: 9:68
95          _19 = &raw const (*_14);         // scope 2 at $DIR/issue_76432.rs:9:54: 9:56
96          _18 = _19;                       // scope 2 at $DIR/issue_76432.rs:9:54: 9:68
97          StorageLive(_20);                // scope 2 at $DIR/issue_76432.rs:9:70: 9:84
98          StorageLive(_21);                // scope 2 at $DIR/issue_76432.rs:9:70: 9:84
99          _21 = &raw const (*_15);         // scope 2 at $DIR/issue_76432.rs:9:70: 9:72
100          _20 = _21;                       // scope 2 at $DIR/issue_76432.rs:9:70: 9:84
101          _9 = [move _16, move _18, move _20]; // scope 2 at $DIR/issue_76432.rs:9:37: 9:85
102          StorageDead(_21);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
103          StorageDead(_20);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
104          StorageDead(_19);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
105          StorageDead(_18);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
106          StorageDead(_17);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
107          StorageDead(_16);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
108          StorageDead(_15);                // scope 1 at $DIR/issue_76432.rs:9:84: 9:85
109          StorageDead(_14);                // scope 1 at $DIR/issue_76432.rs:9:84: 9:85
110          StorageDead(_13);                // scope 1 at $DIR/issue_76432.rs:9:84: 9:85
111          StorageDead(_9);                 // scope 1 at $DIR/issue_76432.rs:11:6: 11:7
112          nop;                             // scope 0 at $DIR/issue_76432.rs:6:44: 12:2
113          StorageDead(_5);                 // scope 0 at $DIR/issue_76432.rs:12:1: 12:2
114          StorageDead(_2);                 // scope 0 at $DIR/issue_76432.rs:12:1: 12:2
115          return;                          // scope 0 at $DIR/issue_76432.rs:12:2: 12:2
116      }
117  }
118
119