-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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: Clean up RefPosition
"killed registers" storage
#103560
JIT: Clean up RefPosition
"killed registers" storage
#103560
Conversation
Avoid some ifdefs and fix a crash during JITDUMP in LSRA. Also avoid calling `getWeight` entirely for `RefTypeKill` ref positions, even for dumping. Dumping this info does not make much sense anyway since there was a requirement that it was never called in non-dump paths anyway.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
This comment was marked as outdated.
This comment was marked as outdated.
No asm diffs. Some large Linux-hosted JIT TP regressions that I need to look into. The Windows-hosted JIT has negligible TP regressions. |
Looks like #103573 will fix the JITDUMP crash as a separate change. |
killRegisterAssignment
unconditionally in LSRARefPosition
"killed registers" storage
…ll-register-assignment
The linux-hosted JIT regressions are just the LTO mismatch when PGO is disabled that is being discussed in #103058:
|
/azp run runtime-coreclr superpmi-diffs |
Azure Pipelines successfully started running 1 pipeline(s). |
cc @dotnet/jit-contrib PTAL @kunalspathak No asm diffs. linux hosted regressions due to what I mentioned above. Some minor MinOpts TP regressions (up to 0.04% in the contexts with many MinOpts contexts). I think it's worth it to avoid the ifdefs and avoid bugs like the one fixed by #103573. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for cleaning it up. The new name killedRegisters
is much better.
Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
Avoid some ifdefs and rename the field to reflect more specifically what it represents.
Also avoid calling
getWeight
entirely forRefTypeKill
ref positions, even for dumping. Dumping this info does not make much sense since there was a requirement that it was never called in non-dump paths anyway.