@@ -7,22 +7,19 @@ fn test_complex() -> () {
7
7
let mut _3 : isize;
8
8
let mut _4 : bool;
9
9
let mut _5 : bool;
10
- let mut _6 : bool;
11
- let mut _7 : bool;
12
- let mut _8 : u8;
13
- let mut _9 : Droppy;
14
- let mut _10 : bool;
15
- let mut _11 : u8;
16
- let mut _12 : Droppy;
17
- let mut _13 : bool;
18
- let mut _14 : bool;
19
- let mut _15 : E;
20
- let mut _16 : isize;
10
+ let mut _6 : u8;
11
+ let mut _7 : Droppy;
12
+ let mut _8 : bool;
13
+ let mut _9 : u8;
14
+ let mut _10 : Droppy;
15
+ let mut _11 : bool;
16
+ let mut _12 : E;
17
+ let mut _13 : isize;
21
18
22
19
bb0 : {
23
20
StorageLive(_1);
24
21
StorageLive(_2);
25
- _2 = E::f() -> [return : bb1, unwind: bb27 ];
22
+ _2 = E::f() -> [return : bb1, unwind: bb31 ];
26
23
}
27
24
28
25
bb1 : {
@@ -36,145 +33,154 @@ fn test_complex() -> () {
36
33
}
37
34
38
35
bb3 : {
39
- goto -> bb16 ;
36
+ goto -> bb19 ;
40
37
}
41
38
42
39
bb4 : {
43
40
StorageLive(_4);
44
- StorageLive(_5);
45
- StorageLive(_6);
46
- _6 = always_true() -> [return : bb11, unwind: bb27];
41
+ _4 = always_true() -> [return : bb5, unwind: bb31];
47
42
}
48
43
49
44
bb5 : {
50
- _4 = const true;
51
- goto -> bb7;
45
+ switchInt(move _4) -> [0 : bb7, otherwise: bb6];
52
46
}
53
47
54
48
bb6 : {
55
- StorageLive(_10 );
56
- StorageLive(_11 );
57
- StorageLive(_12 );
58
- _12 = Droppy(const 1_u8 );
59
- _11 = (_12 .0 : u8);
60
- _10 = Gt(move _11 , const 1_u8 );
61
- drop(_12 ) -> [return : bb13, unwind: bb27 ];
49
+ StorageLive(_5 );
50
+ StorageLive(_6 );
51
+ StorageLive(_7 );
52
+ _7 = Droppy(const 0_u8 );
53
+ _6 = (_7 .0 : u8);
54
+ _5 = Gt(move _6 , const 0_u8 );
55
+ switchInt(move _5 ) -> [0 : bb9, otherwise: bb8 ];
62
56
}
63
57
64
58
bb7 : {
65
- StorageDead(_10);
66
- StorageDead(_5);
67
- switchInt(move _4) -> [0 : bb15, otherwise: bb14];
59
+ goto -> bb13;
68
60
}
69
61
70
62
bb8 : {
71
- _5 = const false;
72
- goto -> bb10;
63
+ drop(_7) -> [return : bb10, unwind: bb31];
73
64
}
74
65
75
66
bb9 : {
76
- StorageLive(_7);
77
- StorageLive(_8);
78
- StorageLive(_9);
79
- _9 = Droppy(const 0_u8);
80
- _8 = (_9.0 : u8);
81
- _7 = Gt(move _8, const 0_u8);
82
- drop(_9) -> [return : bb12, unwind: bb27];
67
+ goto -> bb11;
83
68
}
84
69
85
70
bb10 : {
86
71
StorageDead(_7);
87
72
StorageDead(_6);
88
- switchInt(move _5) -> [0 : bb6, otherwise: bb5] ;
73
+ goto -> bb16 ;
89
74
}
90
75
91
76
bb11 : {
92
- switchInt(move _6 ) -> [0 : bb8, otherwise: bb9 ];
77
+ drop(_7 ) -> [return : bb12, unwind: bb31 ];
93
78
}
94
79
95
80
bb12 : {
96
- StorageDead(_9);
97
- StorageDead(_8);
98
- _5 = move _7;
99
- goto -> bb10;
81
+ StorageDead(_7);
82
+ StorageDead(_6);
83
+ goto -> bb13;
100
84
}
101
85
102
86
bb13 : {
103
- StorageDead(_12);
104
- StorageDead(_11);
105
- _4 = move _10;
106
- goto -> bb7;
87
+ StorageLive(_8);
88
+ StorageLive(_9);
89
+ StorageLive(_10);
90
+ _10 = Droppy(const 1_u8);
91
+ _9 = (_10.0 : u8);
92
+ _8 = Gt(move _9, const 1_u8);
93
+ switchInt(move _8) -> [0 : bb15, otherwise: bb14];
107
94
}
108
95
109
96
bb14 : {
110
- _1 = const ();
111
- goto -> bb17;
97
+ drop(_10) -> [return : bb16, unwind: bb31];
112
98
}
113
99
114
100
bb15 : {
115
- goto -> bb16 ;
101
+ goto -> bb17 ;
116
102
}
117
103
118
104
bb16 : {
105
+ StorageDead(_10);
106
+ StorageDead(_9);
119
107
_1 = const ();
120
- goto -> bb17 ;
108
+ goto -> bb20 ;
121
109
}
122
110
123
111
bb17 : {
124
- StorageDead(_4);
125
- StorageDead(_2);
126
- StorageDead(_1);
127
- StorageLive(_13);
128
- StorageLive(_14);
129
- _14 = always_true() -> [return : bb18, unwind: bb27];
112
+ drop(_10) -> [return : bb18, unwind: bb31];
130
113
}
131
114
132
115
bb18 : {
133
- _13 = Not(move _14 );
134
- StorageDead(_14 );
135
- switchInt(move _13) -> [0 : bb20, otherwise: bb19] ;
116
+ StorageDead(_10 );
117
+ StorageDead(_9 );
118
+ goto -> bb19;
136
119
}
137
120
138
121
bb19 : {
139
- StorageLive(_15 );
140
- _15 = E::f() -> [return : bb21, unwind: bb27] ;
122
+ _1 = const ( );
123
+ goto -> bb20 ;
141
124
}
142
125
143
126
bb20 : {
144
- goto -> bb25;
127
+ StorageDead(_8);
128
+ StorageDead(_5);
129
+ StorageDead(_4);
130
+ StorageDead(_2);
131
+ StorageDead(_1);
132
+ StorageLive(_11);
133
+ _11 = always_true() -> [return : bb21, unwind: bb31];
145
134
}
146
135
147
136
bb21 : {
148
- FakeRead(ForMatchedPlace(None), _15);
149
- _16 = discriminant(_15);
150
- switchInt(move _16) -> [1 : bb23, otherwise: bb22];
137
+ switchInt(move _11) -> [0 : bb23, otherwise: bb22];
151
138
}
152
139
153
140
bb22 : {
154
- goto -> bb25 ;
141
+ goto -> bb29 ;
155
142
}
156
143
157
144
bb23 : {
158
- falseEdge -> [real : bb24, imaginary: bb22] ;
145
+ goto -> bb24;
159
146
}
160
147
161
148
bb24 : {
162
- _0 = const ( );
163
- goto -> bb26 ;
149
+ StorageLive(_12 );
150
+ _12 = E::f() -> [return : bb25, unwind: bb31] ;
164
151
}
165
152
166
153
bb25 : {
167
- _0 = const ();
168
- goto -> bb26;
154
+ FakeRead(ForMatchedPlace(None), _12);
155
+ _13 = discriminant(_12);
156
+ switchInt(move _13) -> [1 : bb27, otherwise: bb26];
169
157
}
170
158
171
159
bb26 : {
172
- StorageDead(_13);
173
- StorageDead(_15);
160
+ goto -> bb29;
161
+ }
162
+
163
+ bb27 : {
164
+ falseEdge -> [real : bb28, imaginary: bb26];
165
+ }
166
+
167
+ bb28 : {
168
+ _0 = const ();
169
+ goto -> bb30;
170
+ }
171
+
172
+ bb29 : {
173
+ _0 = const ();
174
+ goto -> bb30;
175
+ }
176
+
177
+ bb30 : {
178
+ StorageDead(_11);
179
+ StorageDead(_12);
174
180
return;
175
181
}
176
182
177
- bb27 (cleanup) : {
183
+ bb31 (cleanup) : {
178
184
resume;
179
185
}
180
186
}
0 commit comments