Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT: fix case where implied subrange assertions can get lost in morph #112020

Merged
merged 1 commit into from
Jan 31, 2025

Conversation

AndyAyersMS
Copy link
Member

If a method used short bit vectors during morph, modifications to the assertion set were being made to a copy, not to the original.

Also, restrict implied boolean subrange assertions to integer vars.

If a method used short bit vectors during morph, modifications to the
assertion set were being made to a copy, not to the original.

Also, restrict implied boolean subrange assertions to integer vars.
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 30, 2025
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@AndyAyersMS
Copy link
Member Author

@EgorBo PTAL
cc @dotnet/jit-contrib

Follow up from some things I noticed here #111980 (comment)

Some diffs in small methods.

Copy link
Member

@EgorBo EgorBo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our guidelines dislike non-constant reference arguments https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/clr-jit-coding-conventions.md#1535-reference-arguments but looks like we do it in a quite a few places

@AndyAyersMS
Copy link
Member Author

Once this goes in I will experiment with expanding the implied assertion set.

@AndyAyersMS
Copy link
Member Author

Our guidelines dislike non-constant reference arguments https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/clr-jit-coding-conventions.md#1535-reference-arguments but looks like we do it in a quite a few places

Also not a big fan of using typedefs to hide implementation details, ASSERT_TP in particular.

@AndyAyersMS
Copy link
Member Author

Diffs.

Failures all look like infra issues so far.

@AndyAyersMS AndyAyersMS merged commit 55e9ab5 into dotnet:main Jan 31, 2025
108 of 114 checks passed
grendello added a commit to grendello/runtime that referenced this pull request Jan 31, 2025
* main:
  JIT: fix case where implied subrange assertions can get lost in morph (dotnet#112020)
  Propose new async API (dotnet#110420)
  Move the diagnostic print for stack overflow test failure (dotnet#112001)
  JIT: Fold more nullchecks (dotnet#111985)
  Baseline more pri1 tests (dotnet#111068)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants