Skip to content

Commit 797ef50

Browse files
committed
Reverts #117206
cc @cjgillot @tmiasko This revert is based on the following report of a regression caused by this PR: #121094 In accordance with the compiler team [revert policy], PRs that cause meaningful regressions should be reverted and re-landed once the regression has been fixed (and a regression test has been added, where appropriate). [revert policy]: https://forge.rust-lang.org/compiler/reviews.html#reverts Fear not! Regressions happen. Please rest assured that this does not represent a negative judgment of your contribution or ability to contribute positively to Rust in the future. We simply want to prioritize keeping existing use cases working, and keep the compiler more stable for everyone. r? compiler
1 parent eaff1af commit 797ef50

12 files changed

+553
-341
lines changed

compiler/rustc_mir_transform/src/jump_threading.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const MAX_PLACES: usize = 100;
6060

6161
impl<'tcx> MirPass<'tcx> for JumpThreading {
6262
fn is_enabled(&self, sess: &rustc_session::Session) -> bool {
63-
sess.mir_opt_level() >= 2
63+
sess.mir_opt_level() >= 4
6464
}
6565

6666
#[instrument(skip_all level = "debug")]

tests/coverage/closure.cov-map

+22-14
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,20 @@ Number of file 0 mappings: 24
3333
- Code(Expression(1, Add)) at (prev + 1, 5) to (start + 3, 2)
3434
= (c1 + (c0 - c1))
3535

36-
Function name: closure::main::{closure#0} (unused)
37-
Raw bytes (24): 0x[01, 01, 00, 04, 00, 28, 05, 02, 14, 00, 02, 15, 02, 0a, 00, 02, 0a, 00, 0b, 00, 01, 09, 01, 06]
36+
Function name: closure::main::{closure#0}
37+
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 28, 05, 02, 14, 05, 02, 15, 02, 0a, 02, 02, 0a, 00, 0b, 07, 01, 09, 01, 06]
3838
Number of files: 1
3939
- file 0 => global file 1
40-
Number of expressions: 0
40+
Number of expressions: 2
41+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
42+
- expression 1 operands: lhs = Counter(1), rhs = Expression(0, Sub)
4143
Number of file 0 mappings: 4
42-
- Code(Zero) at (prev + 40, 5) to (start + 2, 20)
43-
- Code(Zero) at (prev + 2, 21) to (start + 2, 10)
44-
- Code(Zero) at (prev + 2, 10) to (start + 0, 11)
45-
- Code(Zero) at (prev + 1, 9) to (start + 1, 6)
44+
- Code(Counter(0)) at (prev + 40, 5) to (start + 2, 20)
45+
- Code(Counter(1)) at (prev + 2, 21) to (start + 2, 10)
46+
- Code(Expression(0, Sub)) at (prev + 2, 10) to (start + 0, 11)
47+
= (c0 - c1)
48+
- Code(Expression(1, Add)) at (prev + 1, 9) to (start + 1, 6)
49+
= (c1 + (c0 - c1))
4650

4751
Function name: closure::main::{closure#10} (unused)
4852
Raw bytes (10): 0x[01, 01, 00, 01, 00, 9b, 01, 07, 00, 21]
@@ -144,16 +148,20 @@ Number of file 0 mappings: 6
144148
- Code(Expression(0, Add)) at (prev + 2, 9) to (start + 0, 10)
145149
= (c1 + (c0 - c1))
146150

147-
Function name: closure::main::{closure#18} (unused)
148-
Raw bytes (24): 0x[01, 01, 00, 04, 00, 19, 0d, 02, 1c, 00, 02, 1d, 02, 12, 00, 02, 12, 00, 13, 00, 01, 11, 01, 0e]
151+
Function name: closure::main::{closure#18}
152+
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 19, 0d, 02, 1c, 05, 02, 1d, 02, 12, 02, 02, 12, 00, 13, 07, 01, 11, 01, 0e]
149153
Number of files: 1
150154
- file 0 => global file 1
151-
Number of expressions: 0
155+
Number of expressions: 2
156+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
157+
- expression 1 operands: lhs = Counter(1), rhs = Expression(0, Sub)
152158
Number of file 0 mappings: 4
153-
- Code(Zero) at (prev + 25, 13) to (start + 2, 28)
154-
- Code(Zero) at (prev + 2, 29) to (start + 2, 18)
155-
- Code(Zero) at (prev + 2, 18) to (start + 0, 19)
156-
- Code(Zero) at (prev + 1, 17) to (start + 1, 14)
159+
- Code(Counter(0)) at (prev + 25, 13) to (start + 2, 28)
160+
- Code(Counter(1)) at (prev + 2, 29) to (start + 2, 18)
161+
- Code(Expression(0, Sub)) at (prev + 2, 18) to (start + 0, 19)
162+
= (c0 - c1)
163+
- Code(Expression(1, Add)) at (prev + 1, 17) to (start + 1, 14)
164+
= (c1 + (c0 - c1))
157165

158166
Function name: closure::main::{closure#19}
159167
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 43, 0d, 02, 1c, 05, 02, 1d, 02, 12, 02, 02, 12, 00, 13, 07, 01, 11, 01, 0e]

tests/coverage/issue-84561.cov-map

+19-19
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Number of file 0 mappings: 1
7777
- Code(Counter(0)) at (prev + 167, 9) to (start + 2, 10)
7878

7979
Function name: issue_84561::test3
80-
Raw bytes (436): 0x[01, 01, 41, 05, 09, 0d, 00, 15, 19, 12, 00, 15, 19, 21, 00, 1e, 00, 21, 00, 31, 00, 3d, 41, 2e, 45, 3d, 41, 42, 49, 45, 00, 3f, 51, 42, 49, 45, 00, 5d, 8a, 01, 8f, 01, 5d, 92, 01, 55, 51, 00, 92, 01, 55, 51, 00, 8f, 01, 5d, 92, 01, 55, 51, 00, 87, 01, 61, 5d, 8a, 01, 8f, 01, 5d, 92, 01, 55, 51, 00, 82, 01, 65, 87, 01, 61, 5d, 8a, 01, 8f, 01, 5d, 92, 01, 55, 51, 00, 75, f6, 01, fb, 01, 79, 00, fe, 01, 82, 02, 00, 69, 6d, 00, fe, 01, 82, 02, 00, 69, 6d, 69, 6d, 82, 02, 00, 69, 6d, fb, 01, 79, 00, fe, 01, 82, 02, 00, 69, 6d, f3, 01, 7d, 75, f6, 01, fb, 01, 79, 00, fe, 01, 82, 02, 00, 69, 6d, ee, 01, 00, f3, 01, 7d, 75, f6, 01, fb, 01, 79, 00, fe, 01, 82, 02, 00, 69, 6d, 33, 01, 08, 01, 03, 1c, 05, 04, 09, 01, 1c, 02, 02, 05, 04, 1f, 0d, 05, 05, 00, 1f, 06, 01, 05, 00, 1f, 15, 01, 09, 01, 1c, 12, 02, 05, 00, 1f, 0e, 01, 05, 00, 0f, 00, 00, 20, 00, 30, 21, 01, 05, 03, 0f, 00, 03, 20, 00, 30, 00, 00, 33, 00, 41, 00, 00, 4b, 00, 5a, 1e, 01, 05, 00, 0f, 00, 05, 09, 03, 10, 00, 05, 0d, 00, 1b, 00, 02, 0d, 00, 1c, 1a, 04, 09, 05, 06, 31, 06, 05, 03, 06, 22, 04, 05, 03, 06, 3d, 04, 09, 04, 06, 2e, 05, 08, 00, 0f, 45, 01, 09, 03, 0a, 2a, 05, 09, 03, 0a, 3f, 05, 08, 00, 0f, 51, 01, 09, 00, 13, 00, 03, 0d, 00, 1d, 3a, 03, 09, 00, 13, 00, 03, 0d, 00, 1d, 87, 01, 03, 05, 00, 0f, 8f, 01, 01, 0c, 00, 13, 5d, 01, 0d, 00, 13, 8a, 01, 02, 0d, 00, 13, 82, 01, 04, 05, 02, 13, 65, 03, 0d, 00, 13, 7e, 02, 0d, 00, 13, f3, 01, 03, 05, 00, 0f, 69, 01, 0c, 00, 13, 6d, 01, 0d, 03, 0e, 75, 04, 0d, 00, 13, fb, 01, 02, 0d, 00, 17, 82, 02, 01, 14, 00, 1b, 00, 01, 15, 00, 1b, fe, 01, 02, 15, 00, 1b, f6, 01, 04, 0d, 00, 13, 7d, 03, 09, 00, 19, ee, 01, 02, 05, 00, 0f, ea, 01, 03, 09, 00, 22, 00, 02, 05, 00, 0f, 00, 03, 09, 00, 2c, 00, 02, 01, 00, 02]
80+
Raw bytes (436): 0x[01, 01, 41, 05, 09, 0d, 00, 15, 19, 12, 00, 15, 19, 21, 00, 1e, 00, 21, 00, 31, 00, 3d, 41, 2e, 45, 3d, 41, 42, 49, 45, 00, 3f, 51, 42, 49, 45, 00, 5d, 8a, 01, 8f, 01, 5d, 92, 01, 55, 51, 00, 92, 01, 55, 51, 00, 8f, 01, 5d, 92, 01, 55, 51, 00, 87, 01, 61, 5d, 8a, 01, 8f, 01, 5d, 92, 01, 55, 51, 00, 82, 01, 65, 87, 01, 61, 5d, 8a, 01, 8f, 01, 5d, 92, 01, 55, 51, 00, 75, f6, 01, fb, 01, 79, 71, fe, 01, 82, 02, 71, 69, 6d, 71, fe, 01, 82, 02, 71, 69, 6d, 69, 6d, 82, 02, 71, 69, 6d, fb, 01, 79, 71, fe, 01, 82, 02, 71, 69, 6d, f3, 01, 7d, 75, f6, 01, fb, 01, 79, 71, fe, 01, 82, 02, 71, 69, 6d, ee, 01, 00, f3, 01, 7d, 75, f6, 01, fb, 01, 79, 71, fe, 01, 82, 02, 71, 69, 6d, 33, 01, 08, 01, 03, 1c, 05, 04, 09, 01, 1c, 02, 02, 05, 04, 1f, 0d, 05, 05, 00, 1f, 06, 01, 05, 00, 1f, 15, 01, 09, 01, 1c, 12, 02, 05, 00, 1f, 0e, 01, 05, 00, 0f, 00, 00, 20, 00, 30, 21, 01, 05, 03, 0f, 00, 03, 20, 00, 30, 00, 00, 33, 00, 41, 00, 00, 4b, 00, 5a, 1e, 01, 05, 00, 0f, 00, 05, 09, 03, 10, 00, 05, 0d, 00, 1b, 00, 02, 0d, 00, 1c, 1a, 04, 09, 05, 06, 31, 06, 05, 03, 06, 22, 04, 05, 03, 06, 3d, 04, 09, 04, 06, 2e, 05, 08, 00, 0f, 45, 01, 09, 03, 0a, 2a, 05, 09, 03, 0a, 3f, 05, 08, 00, 0f, 51, 01, 09, 00, 13, 00, 03, 0d, 00, 1d, 3a, 03, 09, 00, 13, 00, 03, 0d, 00, 1d, 87, 01, 03, 05, 00, 0f, 8f, 01, 01, 0c, 00, 13, 5d, 01, 0d, 00, 13, 8a, 01, 02, 0d, 00, 13, 82, 01, 04, 05, 02, 13, 65, 03, 0d, 00, 13, 7e, 02, 0d, 00, 13, f3, 01, 03, 05, 00, 0f, 69, 01, 0c, 00, 13, 6d, 01, 0d, 03, 0e, 75, 04, 0d, 00, 13, fb, 01, 02, 0d, 00, 17, 82, 02, 01, 14, 00, 1b, 71, 01, 15, 00, 1b, fe, 01, 02, 15, 00, 1b, f6, 01, 04, 0d, 00, 13, 7d, 03, 09, 00, 19, ee, 01, 02, 05, 00, 0f, ea, 01, 03, 09, 00, 22, 00, 02, 05, 00, 0f, 00, 03, 09, 00, 2c, 00, 02, 01, 00, 02]
8181
Number of files: 1
8282
- file 0 => global file 1
8383
Number of expressions: 65
@@ -120,31 +120,31 @@ Number of expressions: 65
120120
- expression 36 operands: lhs = Counter(20), rhs = Zero
121121
- expression 37 operands: lhs = Counter(29), rhs = Expression(61, Sub)
122122
- expression 38 operands: lhs = Expression(62, Add), rhs = Counter(30)
123-
- expression 39 operands: lhs = Zero, rhs = Expression(63, Sub)
124-
- expression 40 operands: lhs = Expression(64, Sub), rhs = Zero
123+
- expression 39 operands: lhs = Counter(28), rhs = Expression(63, Sub)
124+
- expression 40 operands: lhs = Expression(64, Sub), rhs = Counter(28)
125125
- expression 41 operands: lhs = Counter(26), rhs = Counter(27)
126-
- expression 42 operands: lhs = Zero, rhs = Expression(63, Sub)
127-
- expression 43 operands: lhs = Expression(64, Sub), rhs = Zero
126+
- expression 42 operands: lhs = Counter(28), rhs = Expression(63, Sub)
127+
- expression 43 operands: lhs = Expression(64, Sub), rhs = Counter(28)
128128
- expression 44 operands: lhs = Counter(26), rhs = Counter(27)
129129
- expression 45 operands: lhs = Counter(26), rhs = Counter(27)
130-
- expression 46 operands: lhs = Expression(64, Sub), rhs = Zero
130+
- expression 46 operands: lhs = Expression(64, Sub), rhs = Counter(28)
131131
- expression 47 operands: lhs = Counter(26), rhs = Counter(27)
132132
- expression 48 operands: lhs = Expression(62, Add), rhs = Counter(30)
133-
- expression 49 operands: lhs = Zero, rhs = Expression(63, Sub)
134-
- expression 50 operands: lhs = Expression(64, Sub), rhs = Zero
133+
- expression 49 operands: lhs = Counter(28), rhs = Expression(63, Sub)
134+
- expression 50 operands: lhs = Expression(64, Sub), rhs = Counter(28)
135135
- expression 51 operands: lhs = Counter(26), rhs = Counter(27)
136136
- expression 52 operands: lhs = Expression(60, Add), rhs = Counter(31)
137137
- expression 53 operands: lhs = Counter(29), rhs = Expression(61, Sub)
138138
- expression 54 operands: lhs = Expression(62, Add), rhs = Counter(30)
139-
- expression 55 operands: lhs = Zero, rhs = Expression(63, Sub)
140-
- expression 56 operands: lhs = Expression(64, Sub), rhs = Zero
139+
- expression 55 operands: lhs = Counter(28), rhs = Expression(63, Sub)
140+
- expression 56 operands: lhs = Expression(64, Sub), rhs = Counter(28)
141141
- expression 57 operands: lhs = Counter(26), rhs = Counter(27)
142142
- expression 58 operands: lhs = Expression(59, Sub), rhs = Zero
143143
- expression 59 operands: lhs = Expression(60, Add), rhs = Counter(31)
144144
- expression 60 operands: lhs = Counter(29), rhs = Expression(61, Sub)
145145
- expression 61 operands: lhs = Expression(62, Add), rhs = Counter(30)
146-
- expression 62 operands: lhs = Zero, rhs = Expression(63, Sub)
147-
- expression 63 operands: lhs = Expression(64, Sub), rhs = Zero
146+
- expression 62 operands: lhs = Counter(28), rhs = Expression(63, Sub)
147+
- expression 63 operands: lhs = Expression(64, Sub), rhs = Counter(28)
148148
- expression 64 operands: lhs = Counter(26), rhs = Counter(27)
149149
Number of file 0 mappings: 51
150150
- Code(Counter(0)) at (prev + 8, 1) to (start + 3, 28)
@@ -200,24 +200,24 @@ Number of file 0 mappings: 51
200200
- Code(Expression(31, Sub)) at (prev + 2, 13) to (start + 0, 19)
201201
= (((c23 + (((c20 - Zero) + c21) - c23)) - c24) - c25)
202202
- Code(Expression(60, Add)) at (prev + 3, 5) to (start + 0, 15)
203-
= (c29 + ((Zero + ((c26 - c27) - Zero)) - c30))
203+
= (c29 + ((c28 + ((c26 - c27) - c28)) - c30))
204204
- Code(Counter(26)) at (prev + 1, 12) to (start + 0, 19)
205205
- Code(Counter(27)) at (prev + 1, 13) to (start + 3, 14)
206206
- Code(Counter(29)) at (prev + 4, 13) to (start + 0, 19)
207207
- Code(Expression(62, Add)) at (prev + 2, 13) to (start + 0, 23)
208-
= (Zero + ((c26 - c27) - Zero))
208+
= (c28 + ((c26 - c27) - c28))
209209
- Code(Expression(64, Sub)) at (prev + 1, 20) to (start + 0, 27)
210210
= (c26 - c27)
211-
- Code(Zero) at (prev + 1, 21) to (start + 0, 27)
211+
- Code(Counter(28)) at (prev + 1, 21) to (start + 0, 27)
212212
- Code(Expression(63, Sub)) at (prev + 2, 21) to (start + 0, 27)
213-
= ((c26 - c27) - Zero)
213+
= ((c26 - c27) - c28)
214214
- Code(Expression(61, Sub)) at (prev + 4, 13) to (start + 0, 19)
215-
= ((Zero + ((c26 - c27) - Zero)) - c30)
215+
= ((c28 + ((c26 - c27) - c28)) - c30)
216216
- Code(Counter(31)) at (prev + 3, 9) to (start + 0, 25)
217217
- Code(Expression(59, Sub)) at (prev + 2, 5) to (start + 0, 15)
218-
= ((c29 + ((Zero + ((c26 - c27) - Zero)) - c30)) - c31)
218+
= ((c29 + ((c28 + ((c26 - c27) - c28)) - c30)) - c31)
219219
- Code(Expression(58, Sub)) at (prev + 3, 9) to (start + 0, 34)
220-
= (((c29 + ((Zero + ((c26 - c27) - Zero)) - c30)) - c31) - Zero)
220+
= (((c29 + ((c28 + ((c26 - c27) - c28)) - c30)) - c31) - Zero)
221221
- Code(Zero) at (prev + 2, 5) to (start + 0, 15)
222222
- Code(Zero) at (prev + 3, 9) to (start + 0, 44)
223223
- Code(Zero) at (prev + 2, 1) to (start + 0, 2)

0 commit comments

Comments
 (0)