Commit a075769
Misc improvements for rangecheck (#129101)
- Fix unsound bounds in `RangeOps::Or` (could exclude reachable values);
use `max`-based lower/upper bounds
- existing bug: `[3..5] | [4..7] -> lo = 3|4 = 7, hi = 5|7 = 7 (claims
[7..7])`
- Add `UDIV` constant-range support to `GetRangeFromAssertionsWorker`
- Populate `m_isVNNeverNegative` on checked-bound / VN-relop assertions
- Restrict the never-negative `O2K_VN_ADD_CNS` range deduction to LT/LE
relops (GT/GE were unsound)
[Diffs](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1453272&view=ms.vss-build-web.run-extensions-tab)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 4daceb8 commit a075769
3 files changed
Lines changed: 74 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8976 | 8976 | | |
8977 | 8977 | | |
8978 | 8978 | | |
8979 | | - | |
8980 | | - | |
8981 | | - | |
8982 | | - | |
8983 | | - | |
8984 | | - | |
8985 | | - | |
| 8979 | + | |
| 8980 | + | |
| 8981 | + | |
| 8982 | + | |
| 8983 | + | |
| 8984 | + | |
| 8985 | + | |
| 8986 | + | |
8986 | 8987 | | |
8987 | 8988 | | |
8988 | 8989 | | |
| |||
9021 | 9022 | | |
9022 | 9023 | | |
9023 | 9024 | | |
9024 | | - | |
| 9025 | + | |
9025 | 9026 | | |
9026 | 9027 | | |
9027 | 9028 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
791 | 791 | | |
792 | 792 | | |
793 | 793 | | |
| 794 | + | |
794 | 795 | | |
795 | 796 | | |
796 | 797 | | |
| |||
825 | 826 | | |
826 | 827 | | |
827 | 828 | | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
828 | 832 | | |
829 | 833 | | |
830 | 834 | | |
| |||
1230 | 1234 | | |
1231 | 1235 | | |
1232 | 1236 | | |
1233 | | - | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
1234 | 1244 | | |
1235 | 1245 | | |
1236 | 1246 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
446 | | - | |
447 | | - | |
| 446 | + | |
448 | 447 | | |
449 | 448 | | |
450 | 449 | | |
451 | 450 | | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
459 | 479 | | |
460 | 480 | | |
461 | 481 | | |
| |||
501 | 521 | | |
502 | 522 | | |
503 | 523 | | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
504 | 549 | | |
505 | 550 | | |
506 | 551 | | |
| |||
0 commit comments