|
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