1
- // MIR for `main` before PromoteTemps
1
+ // MIR for `main` after built
2
2
3
3
fn main() -> () {
4
4
let mut _0 : (); // return place in scope 0 at $DIR/match_false_edges.rs:+0:11: +0:11
@@ -43,41 +43,54 @@ fn main() -> () {
43
43
}
44
44
45
45
bb1 : {
46
- falseEdge -> [real : bb9 , imaginary: bb4 ]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
46
+ falseEdge -> [real : bb13 , imaginary: bb6 ]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
47
47
}
48
48
49
49
bb2 : {
50
- falseEdge -> [real : bb5 , imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:9: +2:17
50
+ falseEdge -> [real : bb8 , imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:9: +2:17
51
51
}
52
52
53
53
bb3 : {
54
+ goto -> bb1; // scope 0 at $DIR/match_false_edges.rs:+1:13 : +1:26
55
+ }
56
+
57
+ bb4 : {
58
+ _3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:+1:19 : +1:26
59
+ switchInt(move _3) -> [1_isize : bb6, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:+1:13: +1:26
60
+ }
61
+
62
+ bb5 : {
54
63
StorageLive(_14); // scope 0 at $DIR/match_false_edges.rs:+5:9 : +5:11
55
64
_14 = _2; // scope 0 at $DIR/match_false_edges.rs:+5:9 : +5:11
56
65
_1 = const 4_i32; // scope 5 at $DIR/match_false_edges.rs:+5:15 : +5:16
57
66
StorageDead(_14); // scope 0 at $DIR/match_false_edges.rs:+5:15 : +5:16
58
- goto -> bb14 ; // scope 0 at $DIR/match_false_edges.rs:+5:15 : +5:16
67
+ goto -> bb19 ; // scope 0 at $DIR/match_false_edges.rs:+5:15 : +5:16
59
68
}
60
69
61
- bb4 : {
62
- falseEdge -> [real : bb10 , imaginary: bb3 ]; // scope 0 at $DIR/match_false_edges.rs:+4:9: +4:16
70
+ bb6 : {
71
+ falseEdge -> [real : bb14 , imaginary: bb5 ]; // scope 0 at $DIR/match_false_edges.rs:+4:9: +4:16
63
72
}
64
73
65
- bb5 : {
74
+ bb7 : {
75
+ goto -> bb5; // scope 0 at $DIR/match_false_edges.rs:+1:13 : +1:26
76
+ }
77
+
78
+ bb8 : {
66
79
StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:+2:14 : +2:16
67
80
_7 = &((_2 as Some).0 : i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
68
81
_5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19 : +1:26
69
82
StorageLive(_8); // scope 0 at $DIR/match_false_edges.rs:+2:21 : +2:28
70
- _8 = guard() -> [return : bb6 , unwind: bb15 ]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
83
+ _8 = guard() -> [return : bb9 , unwind: bb20 ]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
71
84
// mir::Constant
72
85
// + span : $DIR/match_false_edges.rs:34:21: 34:26
73
86
// + literal : Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
74
87
}
75
88
76
- bb6 : {
77
- switchInt(move _8) -> [false : bb8 , otherwise: bb7 ]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
89
+ bb9 : {
90
+ switchInt(move _8) -> [false : bb11 , otherwise: bb10 ]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
78
91
}
79
92
80
- bb7 : {
93
+ bb10 : {
81
94
StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:+2:27 : +2:28
82
95
FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:+2:27 : +2:28
83
96
FakeRead(ForGuardBinding, _7); // scope 0 at $DIR/match_false_edges.rs:+2:27 : +2:28
@@ -86,41 +99,45 @@ fn main() -> () {
86
99
_1 = const 1_i32; // scope 2 at $DIR/match_false_edges.rs:+2:32 : +2:33
87
100
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:32 : +2:33
88
101
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:32 : +2:33
89
- goto -> bb14 ; // scope 0 at $DIR/match_false_edges.rs:+2:32 : +2:33
102
+ goto -> bb19 ; // scope 0 at $DIR/match_false_edges.rs:+2:32 : +2:33
90
103
}
91
104
92
- bb8 : {
105
+ bb11 : {
106
+ goto -> bb12; // scope 0 at $DIR/match_false_edges.rs:+2:21 : +2:28
107
+ }
108
+
109
+ bb12 : {
93
110
StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:+2:27 : +2:28
94
111
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:32 : +2:33
95
- falseEdge -> [real : bb1 , imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
112
+ falseEdge -> [real : bb3 , imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
96
113
}
97
114
98
- bb9 : {
115
+ bb13 : {
99
116
StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:+3:9 : +3:11
100
117
_9 = _2; // scope 0 at $DIR/match_false_edges.rs:+3:9 : +3:11
101
118
_1 = const 2_i32; // scope 3 at $DIR/match_false_edges.rs:+3:15 : +3:16
102
119
StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:+3:15 : +3:16
103
- goto -> bb14 ; // scope 0 at $DIR/match_false_edges.rs:+3:15 : +3:16
120
+ goto -> bb19 ; // scope 0 at $DIR/match_false_edges.rs:+3:15 : +3:16
104
121
}
105
122
106
- bb10 : {
123
+ bb14 : {
107
124
StorageLive(_11); // scope 0 at $DIR/match_false_edges.rs:+4:14 : +4:15
108
125
_11 = &((_2 as Some).0 : i32); // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
109
126
_5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19 : +1:26
110
127
StorageLive(_12); // scope 0 at $DIR/match_false_edges.rs:+4:20 : +4:29
111
128
StorageLive(_13); // scope 0 at $DIR/match_false_edges.rs:+4:27 : +4:28
112
129
_13 = (*_11); // scope 0 at $DIR/match_false_edges.rs:+4:27 : +4:28
113
- _12 = guard2(move _13) -> [return : bb11 , unwind: bb15 ]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
130
+ _12 = guard2(move _13) -> [return : bb15 , unwind: bb20 ]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
114
131
// mir::Constant
115
132
// + span : $DIR/match_false_edges.rs:36:20: 36:26
116
133
// + literal : Const { ty: fn(i32) -> bool {guard2}, val: Value(<ZST>) }
117
134
}
118
135
119
- bb11 : {
120
- switchInt(move _12) -> [false : bb13 , otherwise: bb12 ]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
136
+ bb15 : {
137
+ switchInt(move _12) -> [false : bb17 , otherwise: bb16 ]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
121
138
}
122
139
123
- bb12 : {
140
+ bb16 : {
124
141
StorageDead(_13); // scope 0 at $DIR/match_false_edges.rs:+4:28 : +4:29
125
142
StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:+4:28 : +4:29
126
143
FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:+4:28 : +4:29
@@ -130,24 +147,28 @@ fn main() -> () {
130
147
_1 = const 3_i32; // scope 4 at $DIR/match_false_edges.rs:+4:33 : +4:34
131
148
StorageDead(_10); // scope 0 at $DIR/match_false_edges.rs:+4:33 : +4:34
132
149
StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:+4:33 : +4:34
133
- goto -> bb14 ; // scope 0 at $DIR/match_false_edges.rs:+4:33 : +4:34
150
+ goto -> bb19 ; // scope 0 at $DIR/match_false_edges.rs:+4:33 : +4:34
134
151
}
135
152
136
- bb13 : {
153
+ bb17 : {
154
+ goto -> bb18; // scope 0 at $DIR/match_false_edges.rs:+4:20 : +4:29
155
+ }
156
+
157
+ bb18 : {
137
158
StorageDead(_13); // scope 0 at $DIR/match_false_edges.rs:+4:28 : +4:29
138
159
StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:+4:28 : +4:29
139
160
StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:+4:33 : +4:34
140
- falseEdge -> [real : bb3 , imaginary: bb3 ]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
161
+ falseEdge -> [real : bb7 , imaginary: bb5 ]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
141
162
}
142
163
143
- bb14 : {
164
+ bb19 : {
144
165
StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:+6:6 : +6:7
145
166
StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:+6:6 : +6:7
146
167
_0 = const (); // scope 0 at $DIR/match_false_edges.rs:+0:11 : +7:2
147
168
return; // scope 0 at $DIR/match_false_edges.rs:+7:2 : +7:2
148
169
}
149
170
150
- bb15 (cleanup) : {
171
+ bb20 (cleanup) : {
151
172
resume; // scope 0 at $DIR/match_false_edges.rs:+0:1 : +7:2
152
173
}
153
174
}
0 commit comments