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

Consume regs for BlkOpKindLoop #97014

Merged
merged 3 commits into from
Jan 16, 2024
Merged

Conversation

kunalspathak
Copy link
Member

@kunalspathak kunalspathak commented Jan 16, 2024

In #95530, we forgot to consume the register that leads to a temp register around.

Fixes: #96599

@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 16, 2024
@ghost ghost assigned kunalspathak Jan 16, 2024
@ghost
Copy link

ghost commented Jan 16, 2024

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

Issue Details

In #95530, we forgot to consume the register that leads to a temp register around.

Fixed: #96599

Author: kunalspathak
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@kunalspathak
Copy link
Member Author

/azp run runtime-coreclr libraries-jitstress2-jitstressregs, runtime-coreclr jitstress2-jitstressregs

@kunalspathak
Copy link
Member Author

@dotnet/jit-contrib @EgorBo PTAL

Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@EgorBo
Copy link
Member

EgorBo commented Jan 16, 2024

Does it lead to bad codegen? (because that PR was backported to 8.0) or just consumes unnecessary reg?

CI failures seem related?

@kunalspathak
Copy link
Member Author

Does it lead to bad codegen? (because that PR was backported to 8.0) or just consumes unnecessary reg?

It should consume the unnecessary reg, but perhaps that is leading to unused register and that is getting used somewhere below with wrong value. Let me investigate. However, I think for arm64, if we know that we will be using xzr for op1, we should ideally convey that information during LSRA or should we mark the node as contained.

CI failures seem related?

Taking a look

@kunalspathak
Copy link
Member Author

should we mark the node as contained

I see that they are marked contained https://github.com/dotnet/runtime/pull/95530/files#diff-547b75c8f8dd006693805c30d7a0e2ddcdd6b10691383dfbb16e3ed0c50f236aR621-R628

@kunalspathak
Copy link
Member Author

ah, i think the short-circuit for stress is missing the containment marking.
https://github.com/dotnet/runtime/pull/95530/files#diff-547b75c8f8dd006693805c30d7a0e2ddcdd6b10691383dfbb16e3ed0c50f236aR572

@EgorBo
Copy link
Member

EgorBo commented Jan 16, 2024

ah, i think the short-circuit for stress is missing the containment marking.

Cool, then it doesn't need any backport to 8.0 🙂 LGTM if CI agrees

@kunalspathak
Copy link
Member Author

/azp run runtime-coreclr libraries-jitstress2-jitstressregs, runtime-coreclr jitstress2-jitstressregs

Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@kunalspathak
Copy link
Member Author

Failures seems unrelated because the changes are on arm64, and failures are x86.

@kunalspathak kunalspathak merged commit 45b56e5 into dotnet:main Jan 16, 2024
171 of 174 checks passed
@kunalspathak kunalspathak deleted the tmpGetCount branch January 16, 2024 20:10
tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
* Consume regs for BlkOpKindLoop

* Mark the node as contained

* undo Program.cs commit
@github-actions github-actions bot locked and limited conversation to collaborators Feb 16, 2024
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test failure JIT/Regression/JitBlue/GitHub_65690/GitHub_65690/GitHub_65690.cmd
3 participants