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

Work around invalid IR with field morphing temps #77848

Merged

Conversation

SingleAccretion
Copy link
Contributor

@SingleAccretion SingleAccretion commented Nov 3, 2022

Create unique temps for the case that can run into issues.

Fixes #77773.

Q: what makes these morphing temps so special we are only now running into issues with them?
A: they are quite unique in that they're multi-use, multi-def, and both uses and defs can appear in arbitrary places.

Diffs.

@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 Nov 3, 2022
@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Nov 3, 2022
@ghost
Copy link

ghost commented Nov 3, 2022

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

Issue Details

Create unique temps for the case that can run into issues.

Fixes #77773.

Q: what makes these morphing temps so special we are only now running into issues with them?
A: they are quite unique in that they're multi-use, multi-def, and both uses and defs can appear in arbitrary places.

Author: SingleAccretion
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

To avoid running into invalid IR issues.
@SingleAccretion
Copy link
Contributor Author

Failures are known according to build analysis.

@dotnet/jit-contrib

Copy link
Member

@AndyAyersMS AndyAyersMS left a comment

Choose a reason for hiding this comment

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

Was going to suggest you might consider adopting the same sort of logic the importer uses to reuse box temps. But currently does not seem to be not worth the trouble.

@AndyAyersMS AndyAyersMS merged commit 42bebc9 into dotnet:main Nov 4, 2022
@SingleAccretion SingleAccretion deleted the Zero-Offset-Null-Check-Temps-Upstream branch November 4, 2022 21:08
@ghost ghost locked as resolved and limited conversation to collaborators Dec 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

JIT: Assertion failed '!"Write to unaliased local overlaps outstanding read"' during 'Rationalize IR'
2 participants