|
2 | 2 | + // MIR for `main` after ConstProp
|
3 | 3 |
|
4 | 4 | fn main() -> () {
|
5 |
| - let mut _0: (); // return place in scope 0 at $DIR/discriminant.rs:5:11: 5:11 |
6 |
| - let _1: i32; // in scope 0 at $DIR/discriminant.rs:6:9: 6:10 |
7 |
| - let mut _2: i32; // in scope 0 at $DIR/discriminant.rs:6:13: 6:64 |
8 |
| - let mut _3: std::option::Option<bool>; // in scope 0 at $DIR/discriminant.rs:6:34: 6:44 |
9 |
| - let mut _4: isize; // in scope 0 at $DIR/discriminant.rs:6:21: 6:31 |
| 5 | + let mut _0: (); // return place in scope 0 at $DIR/discriminant.rs:10:11: 10:11 |
| 6 | + let _1: i32; // in scope 0 at $DIR/discriminant.rs:11:9: 11:10 |
| 7 | + let mut _2: i32; // in scope 0 at $DIR/discriminant.rs:11:13: 11:64 |
| 8 | + let mut _3: std::option::Option<bool>; // in scope 0 at $DIR/discriminant.rs:11:34: 11:44 |
| 9 | + let mut _4: isize; // in scope 0 at $DIR/discriminant.rs:11:21: 11:31 |
10 | 10 | scope 1 {
|
11 |
| - debug x => _1; // in scope 1 at $DIR/discriminant.rs:6:9: 6:10 |
| 11 | + debug x => _1; // in scope 1 at $DIR/discriminant.rs:11:9: 11:10 |
12 | 12 | }
|
13 | 13 |
|
14 | 14 | bb0: {
|
15 |
| - StorageLive(_1); // scope 0 at $DIR/discriminant.rs:6:9: 6:10 |
16 |
| - StorageLive(_2); // scope 0 at $DIR/discriminant.rs:6:13: 6:64 |
17 |
| - StorageLive(_3); // scope 0 at $DIR/discriminant.rs:6:34: 6:44 |
18 |
| -- _3 = std::option::Option::<bool>::Some(const true); // scope 0 at $DIR/discriminant.rs:6:34: 6:44 |
19 |
| -+ _3 = const std::option::Option::<bool>::Some(true); // scope 0 at $DIR/discriminant.rs:6:34: 6:44 |
| 15 | + StorageLive(_1); // scope 0 at $DIR/discriminant.rs:11:9: 11:10 |
| 16 | + StorageLive(_2); // scope 0 at $DIR/discriminant.rs:11:13: 11:64 |
| 17 | + StorageLive(_3); // scope 0 at $DIR/discriminant.rs:11:34: 11:44 |
| 18 | +- _3 = std::option::Option::<bool>::Some(const true); // scope 0 at $DIR/discriminant.rs:11:34: 11:44 |
| 19 | ++ _3 = const std::option::Option::<bool>::Some(true); // scope 0 at $DIR/discriminant.rs:11:34: 11:44 |
20 | 20 | // ty::Const
|
21 | 21 | - // + ty: bool
|
22 | 22 | + // + ty: std::option::Option<bool>
|
23 | 23 | // + val: Value(Scalar(0x01))
|
24 | 24 | // mir::Constant
|
25 |
| -- // + span: $DIR/discriminant.rs:6:39: 6:43 |
| 25 | +- // + span: $DIR/discriminant.rs:11:39: 11:43 |
26 | 26 | - // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
27 |
| -- _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:6:21: 6:31 |
28 |
| -- switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:6:21: 6:31 |
29 |
| -+ // + span: $DIR/discriminant.rs:6:34: 6:44 |
| 27 | +- _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:11:21: 11:31 |
| 28 | +- switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31 |
| 29 | ++ // + span: $DIR/discriminant.rs:11:34: 11:44 |
30 | 30 | + // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) }
|
31 |
| -+ _4 = const 1isize; // scope 0 at $DIR/discriminant.rs:6:21: 6:31 |
| 31 | ++ _4 = const 1isize; // scope 0 at $DIR/discriminant.rs:11:21: 11:31 |
32 | 32 | + // ty::Const
|
33 | 33 | + // + ty: isize
|
34 | 34 | + // + val: Value(Scalar(0x00000001))
|
35 | 35 | + // mir::Constant
|
36 |
| -+ // + span: $DIR/discriminant.rs:6:21: 6:31 |
| 36 | ++ // + span: $DIR/discriminant.rs:11:21: 11:31 |
37 | 37 | + // + literal: Const { ty: isize, val: Value(Scalar(0x00000001)) }
|
38 |
| -+ switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:6:21: 6:31 |
| 38 | ++ switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31 |
39 | 39 | + // ty::Const
|
40 | 40 | + // + ty: isize
|
41 | 41 | + // + val: Value(Scalar(0x00000001))
|
42 | 42 | + // mir::Constant
|
43 |
| -+ // + span: $DIR/discriminant.rs:6:21: 6:31 |
| 43 | ++ // + span: $DIR/discriminant.rs:11:21: 11:31 |
44 | 44 | + // + literal: Const { ty: isize, val: Value(Scalar(0x00000001)) }
|
45 | 45 | }
|
46 | 46 |
|
47 | 47 | bb1: {
|
48 |
| - _2 = const 10i32; // scope 0 at $DIR/discriminant.rs:6:59: 6:61 |
| 48 | + _2 = const 10i32; // scope 0 at $DIR/discriminant.rs:11:59: 11:61 |
49 | 49 | // ty::Const
|
50 | 50 | // + ty: i32
|
51 | 51 | // + val: Value(Scalar(0x0000000a))
|
52 | 52 | // mir::Constant
|
53 |
| - // + span: $DIR/discriminant.rs:6:59: 6:61 |
| 53 | + // + span: $DIR/discriminant.rs:11:59: 11:61 |
54 | 54 | // + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) }
|
55 |
| - goto -> bb4; // scope 0 at $DIR/discriminant.rs:6:13: 6:64 |
| 55 | + goto -> bb4; // scope 0 at $DIR/discriminant.rs:11:13: 11:64 |
56 | 56 | }
|
57 | 57 |
|
58 | 58 | bb2: {
|
59 |
| -- switchInt(((_3 as Some).0: bool)) -> [false: bb1, otherwise: bb3]; // scope 0 at $DIR/discriminant.rs:6:26: 6:30 |
60 |
| -+ switchInt(const true) -> [false: bb1, otherwise: bb3]; // scope 0 at $DIR/discriminant.rs:6:26: 6:30 |
61 |
| -+ // ty::Const |
62 |
| -+ // + ty: bool |
63 |
| -+ // + val: Value(Scalar(0x01)) |
64 |
| -+ // mir::Constant |
65 |
| -+ // + span: $DIR/discriminant.rs:6:26: 6:30 |
66 |
| -+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } |
| 59 | + switchInt(((_3 as Some).0: bool)) -> [false: bb1, otherwise: bb3]; // scope 0 at $DIR/discriminant.rs:11:26: 11:30 |
67 | 60 | }
|
68 | 61 |
|
69 | 62 | bb3: {
|
70 |
| - _2 = const 42i32; // scope 0 at $DIR/discriminant.rs:6:47: 6:49 |
| 63 | + _2 = const 42i32; // scope 0 at $DIR/discriminant.rs:11:47: 11:49 |
71 | 64 | // ty::Const
|
72 | 65 | // + ty: i32
|
73 | 66 | // + val: Value(Scalar(0x0000002a))
|
74 | 67 | // mir::Constant
|
75 |
| - // + span: $DIR/discriminant.rs:6:47: 6:49 |
| 68 | + // + span: $DIR/discriminant.rs:11:47: 11:49 |
76 | 69 | // + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
77 |
| - goto -> bb4; // scope 0 at $DIR/discriminant.rs:6:13: 6:64 |
| 70 | + goto -> bb4; // scope 0 at $DIR/discriminant.rs:11:13: 11:64 |
78 | 71 | }
|
79 | 72 |
|
80 | 73 | bb4: {
|
81 |
| - _1 = Add(move _2, const 0i32); // scope 0 at $DIR/discriminant.rs:6:13: 6:68 |
| 74 | + _1 = Add(move _2, const 0i32); // scope 0 at $DIR/discriminant.rs:11:13: 11:68 |
82 | 75 | // ty::Const
|
83 | 76 | // + ty: i32
|
84 | 77 | // + val: Value(Scalar(0x00000000))
|
85 | 78 | // mir::Constant
|
86 |
| - // + span: $DIR/discriminant.rs:6:67: 6:68 |
| 79 | + // + span: $DIR/discriminant.rs:11:67: 11:68 |
87 | 80 | // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
|
88 |
| - StorageDead(_2); // scope 0 at $DIR/discriminant.rs:6:67: 6:68 |
89 |
| - StorageDead(_3); // scope 0 at $DIR/discriminant.rs:6:68: 6:69 |
90 |
| - _0 = const (); // scope 0 at $DIR/discriminant.rs:5:11: 7:2 |
| 81 | + StorageDead(_2); // scope 0 at $DIR/discriminant.rs:11:67: 11:68 |
| 82 | + StorageDead(_3); // scope 0 at $DIR/discriminant.rs:11:68: 11:69 |
| 83 | + _0 = const (); // scope 0 at $DIR/discriminant.rs:10:11: 12:2 |
91 | 84 | // ty::Const
|
92 | 85 | // + ty: ()
|
93 | 86 | // + val: Value(Scalar(<ZST>))
|
94 | 87 | // mir::Constant
|
95 |
| - // + span: $DIR/discriminant.rs:5:11: 7:2 |
| 88 | + // + span: $DIR/discriminant.rs:10:11: 12:2 |
96 | 89 | // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
|
97 |
| - StorageDead(_1); // scope 0 at $DIR/discriminant.rs:7:1: 7:2 |
98 |
| - return; // scope 0 at $DIR/discriminant.rs:7:2: 7:2 |
| 90 | + StorageDead(_1); // scope 0 at $DIR/discriminant.rs:12:1: 12:2 |
| 91 | + return; // scope 0 at $DIR/discriminant.rs:12:2: 12:2 |
99 | 92 | }
|
100 | 93 | }
|
101 | 94 |
|
0 commit comments