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: Always consider empty remainders to be dying in physical promotion #88665

Merged

Conversation

jakobbotsch
Copy link
Member

Liveness takes a few shortcuts that means it doesn't always handle the case where there is no remainder as the remainder dying, so add a special case in StructDeaths::IsRemainderDying to take care of this case.

Some minor improvements from more last-use copy omission are expected.

Without this the bug in #88616 is hard to expose because it requires there to be a remainder that is fully defined between the two calls.

Liveness takes a few shortcuts that means it doesn't always handle the
case where there is no remainder as the remainder dying, so add a
special case in StructDeaths::IsRemainderDying to take care of this
case.

Some minor improvements from more last-use copy omission are expected.
@ghost ghost assigned jakobbotsch Jul 11, 2023
@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 Jul 11, 2023
@ghost
Copy link

ghost commented Jul 11, 2023

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

Issue Details

Liveness takes a few shortcuts that means it doesn't always handle the case where there is no remainder as the remainder dying, so add a special case in StructDeaths::IsRemainderDying to take care of this case.

Some minor improvements from more last-use copy omission are expected.

Without this the bug in #88616 is hard to expose because it requires there to be a remainder that is fully defined between the two calls.

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch
Copy link
Member Author

jakobbotsch commented Jul 11, 2023

cc @dotnet/jit-contrib PTAL @AndyAyersMS

Diffs. Some minor improvements due to more last-use copy omission.

The failure is #88582.

@jakobbotsch
Copy link
Member Author

license/cla seems to be stuck... will rerun by pushing a new commit.

@jakobbotsch
Copy link
Member Author

/azp run runtime

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jakobbotsch jakobbotsch merged commit d9f6b98 into dotnet:main Jul 13, 2023
122 of 125 checks passed
@jakobbotsch jakobbotsch deleted the physical-promotion-no-remainder-dying branch July 13, 2023 03:06
@ghost ghost locked as resolved and limited conversation to collaborators Aug 13, 2023
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.

2 participants