LSRA: Remove assert that enforces all multi-reg RefPositions to be either copy or reload but not mixed#101824
Merged
kunalspathak merged 1 commit intodotnet:mainfrom May 3, 2024
Merged
Conversation
Contributor
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Contributor
Author
|
@dotnet/jit-contrib |
Contributor
Author
|
/azp run runtime-coreclr jitstressregs, runtime-coreclr jitstress2-jitstressregs |
|
Azure Pipelines successfully started running 2 pipeline(s). |
jakobbotsch
approved these changes
May 3, 2024
Contributor
Author
|
jitstressregs failure is #100476 |
michaelgsharp
pushed a commit
to michaelgsharp/runtime
that referenced
this pull request
May 9, 2024
Ruihan-Yin
pushed a commit
to Ruihan-Yin/runtime
that referenced
this pull request
May 30, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The consumer for a multi-reg node can be a
GT_COPY, individual registers of multi-reg node can either get copied (they are assigned a different register at the use than the one they were assigned at def) or reloaded (they are spilled and got assigned to a different register than they were originally assigned at the def). Our code paths already handle the situation whereRefPositioncan be mixed of copy/reload and as such there is no need of an assert that enforce that all RefPositions should either be copy or all should be reload.In #99810, the call in the test produced 4 registers, and one of which (because of constraint enforced by
JitStressRegs=8) get spilled and hence marked for reload. But that should be ok to have and the current assert was prohibiting us from such scenario to exist.Other details: #99810 (comment)
Fixes: #99810