]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/const_prop/slice_len/32bit/rustc.main.ConstProp.diff
improve naming
[rust.git] / src / test / mir-opt / const_prop / slice_len / 32bit / rustc.main.ConstProp.diff
1 - // MIR for `main` before ConstProp
2 + // MIR for `main` after ConstProp
3   
4   fn main() -> () {
5       let mut _0: ();                      // return place in scope 0 at $DIR/slice_len.rs:4:11: 4:11
6       let _1: u32;                         // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
7       let mut _2: &[u32];                  // in scope 0 at $DIR/slice_len.rs:5:5: 5:30
8       let mut _3: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
9       let _4: &[u32; 3];                   // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
10       let _5: [u32; 3];                    // in scope 0 at $DIR/slice_len.rs:5:7: 5:19
11       let _6: usize;                       // in scope 0 at $DIR/slice_len.rs:5:31: 5:32
12       let mut _7: usize;                   // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
13       let mut _8: bool;                    // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
14       let mut _9: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
15   
16       bb0: {
17           StorageLive(_1);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
18           StorageLive(_2);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:30
19           StorageLive(_3);                 // scope 0 at $DIR/slice_len.rs:5:6: 5:19
20           StorageLive(_4);                 // scope 0 at $DIR/slice_len.rs:5:6: 5:19
21           _9 = const main::promoted[0];    // scope 0 at $DIR/slice_len.rs:5:6: 5:19
22                                            // ty::Const
23                                            // + ty: &[u32; 3]
24                                            // + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ slice_len[317d]::main[0]), const_param_did: None }, [], Some(promoted[0]))
25                                            // mir::Constant
26                                            // + span: $DIR/slice_len.rs:5:6: 5:19
27                                            // + literal: Const { ty: &[u32; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ slice_len[317d]::main[0]), const_param_did: None }, [], Some(promoted[0])) }
28           _4 = _9;                         // scope 0 at $DIR/slice_len.rs:5:6: 5:19
29           _3 = _4;                         // scope 0 at $DIR/slice_len.rs:5:6: 5:19
30           _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
31           StorageDead(_3);                 // scope 0 at $DIR/slice_len.rs:5:18: 5:19
32           StorageLive(_6);                 // scope 0 at $DIR/slice_len.rs:5:31: 5:32
33           _6 = const 1_usize;              // scope 0 at $DIR/slice_len.rs:5:31: 5:32
34                                            // ty::Const
35                                            // + ty: usize
36                                            // + val: Value(Scalar(0x00000001))
37                                            // mir::Constant
38                                            // + span: $DIR/slice_len.rs:5:31: 5:32
39                                            // + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
40 -         _7 = Len((*_2));                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
41 -         _8 = Lt(_6, _7);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
42 -         assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
43 +         _7 = const 3_usize;              // scope 0 at $DIR/slice_len.rs:5:5: 5:33
44 +                                          // ty::Const
45 +                                          // + ty: usize
46 +                                          // + val: Value(Scalar(0x00000003))
47 +                                          // mir::Constant
48 +                                          // + span: $DIR/slice_len.rs:5:5: 5:33
49 +                                          // + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
50 +         _8 = const true;                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
51 +                                          // ty::Const
52 +                                          // + ty: bool
53 +                                          // + val: Value(Scalar(0x01))
54 +                                          // mir::Constant
55 +                                          // + span: $DIR/slice_len.rs:5:5: 5:33
56 +                                          // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
57 +         assert(const true, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
58 +                                          // ty::Const
59 +                                          // + ty: bool
60 +                                          // + val: Value(Scalar(0x01))
61 +                                          // mir::Constant
62 +                                          // + span: $DIR/slice_len.rs:5:5: 5:33
63 +                                          // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
64       }
65   
66       bb1: {
67 -         _1 = (*_2)[_6];                  // scope 0 at $DIR/slice_len.rs:5:5: 5:33
68 +         _1 = const 2_u32;                // scope 0 at $DIR/slice_len.rs:5:5: 5:33
69 +                                          // ty::Const
70 +                                          // + ty: u32
71 +                                          // + val: Value(Scalar(0x00000002))
72 +                                          // mir::Constant
73 +                                          // + span: $DIR/slice_len.rs:5:5: 5:33
74 +                                          // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
75           StorageDead(_6);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
76           StorageDead(_4);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
77           StorageDead(_2);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
78           StorageDead(_1);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
79           _0 = const ();                   // scope 0 at $DIR/slice_len.rs:4:11: 6:2
80                                            // ty::Const
81                                            // + ty: ()
82                                            // + val: Value(Scalar(<ZST>))
83                                            // mir::Constant
84                                            // + span: $DIR/slice_len.rs:4:11: 6:2
85                                            // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
86           return;                          // scope 0 at $DIR/slice_len.rs:6:2: 6:2
87       }
88   }
89