This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit 3ea5456
authored
Rollup merge of rust-lang#100239 - RalfJung:const-prop-uninit, r=oli-obk
remove an ineffective check in const_prop
Based on rust-lang#100043, only the last two commits are new.
ConstProp has a special check when reading from a local that prevents reading uninit locals. However, if that local flows into `force_allocation`, then no check fires and evaluation proceeds. So this check is not really effective at preventing accesses to uninit locals.
With rust-lang#100043, `read_immediate` and friends always fail when reading uninit locals, so I don't see why ConstProp would need a separate check. Thus I propose we remove it. This is needed to be able to do rust-lang#100085.File tree
8 files changed
+64
-58
lines changed- compiler
- rustc_const_eval/src/interpret
- rustc_mir_transform/src
- src/test/mir-opt/const_prop
8 files changed
+64
-58
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | 190 | | |
194 | 191 | | |
195 | 192 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | 218 | | |
233 | 219 | | |
234 | 220 | | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
235 | 224 | | |
236 | 225 | | |
237 | 226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
444 | 444 | | |
445 | 445 | | |
446 | 446 | | |
447 | | - | |
| 447 | + | |
448 | 448 | | |
449 | 449 | | |
450 | 450 | | |
| |||
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
463 | | - | |
464 | | - | |
| 459 | + | |
465 | 460 | | |
466 | 461 | | |
467 | 462 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
642 | 642 | | |
643 | 643 | | |
644 | 644 | | |
645 | | - | |
| 645 | + | |
646 | 646 | | |
647 | 647 | | |
648 | 648 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
| 104 | + | |
103 | 105 | | |
104 | 106 | | |
105 | 107 | | |
| |||
124 | 126 | | |
125 | 127 | | |
126 | 128 | | |
| 129 | + | |
127 | 130 | | |
128 | 131 | | |
129 | 132 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | 246 | | |
265 | 247 | | |
266 | 248 | | |
| |||
431 | 413 | | |
432 | 414 | | |
433 | 415 | | |
434 | | - | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
435 | 423 | | |
436 | 424 | | |
437 | 425 | | |
| |||
643 | 631 | | |
644 | 632 | | |
645 | 633 | | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
646 | 642 | | |
647 | 643 | | |
648 | 644 | | |
| |||
660 | 656 | | |
661 | 657 | | |
662 | 658 | | |
663 | | - | |
664 | | - | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
665 | 662 | | |
666 | 663 | | |
667 | | - | |
668 | | - | |
669 | | - | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
670 | 667 | | |
671 | 668 | | |
672 | 669 | | |
673 | 670 | | |
674 | | - | |
| 671 | + | |
| 672 | + | |
675 | 673 | | |
676 | 674 | | |
677 | 675 | | |
| |||
696 | 694 | | |
697 | 695 | | |
698 | 696 | | |
699 | | - | |
| 697 | + | |
700 | 698 | | |
701 | 699 | | |
702 | 700 | | |
| |||
1073 | 1071 | | |
1074 | 1072 | | |
1075 | 1073 | | |
1076 | | - | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
1077 | 1079 | | |
1078 | 1080 | | |
1079 | 1081 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
229 | 230 | | |
230 | 231 | | |
231 | 232 | | |
232 | | - | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
233 | 240 | | |
234 | 241 | | |
235 | 242 | | |
| |||
515 | 522 | | |
516 | 523 | | |
517 | 524 | | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
518 | 533 | | |
519 | 534 | | |
520 | 535 | | |
| |||
624 | 639 | | |
625 | 640 | | |
626 | 641 | | |
627 | | - | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
628 | 647 | | |
629 | 648 | | |
630 | 649 | | |
| |||
641 | 660 | | |
642 | 661 | | |
643 | 662 | | |
644 | | - | |
645 | | - | |
646 | | - | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
647 | 666 | | |
648 | 667 | | |
649 | 668 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
0 commit comments