JIT: Properly handle unknown starting values for overflow checks in SCEV analysis - #133766
Conversation
|
Azure Pipelines: 16 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
|
@copilot Please add the test as a single .cs file under src/tests/JIT/Regression_ro_2 |
Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
Addressed in 01f5fb91: the regression test is now the single file |
|
Azure Pipelines: Successfully started running 5 pipeline(s). 11 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
🟢 Approval recommended
The targeted fix and regression coverage address the reported issue with no unresolved blocking concerns.
Pull request overview
Fixes a RyuJIT overflow-analysis bug that could produce incorrect strength-reduced values for symbolic recurrence starts.
Changes:
- Conservatively reject unsafe extension distribution for unknown or nonzero starts.
- Add regression coverage for signed-to-unsigned wraparound.
File summaries
| File | Summary |
|---|---|
src/coreclr/jit/scev.cpp |
Corrects symbolic-start overflow detection. |
src/tests/JIT/Regression_ro_2/Runtime_133759.cs |
Adds targeted regression coverage. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
|
cc @dotnet/jit-contrib PTAL @EgorBo, a silly logic bug |
|
/ba-g Failure is the one fixed by #133775 |
…CEV analysis (dotnet#133766) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
AddRecMayOverflowtreats a non-constant add-recurrence start as zero #133759