Skip to content

JIT: Avoid VN-based removal of dead byref store in async funcs#116136

Merged
jakobbotsch merged 1 commit into
dotnet:mainfrom
jakobbotsch:fix-116090
Jun 3, 2025
Merged

JIT: Avoid VN-based removal of dead byref store in async funcs#116136
jakobbotsch merged 1 commit into
dotnet:mainfrom
jakobbotsch:fix-116090

Conversation

@jakobbotsch

Copy link
Copy Markdown
Member

Fix #116090

@github-actions github-actions Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label May 30, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR prevents the VN-based dead-store removal phase from incorrectly removing stores to byref or GC-byref locals in async methods, addressing issue #116090.

  • Adds a check to skip dead-store removal for byref or GC-byref locals when compiling an async method.
  • Ensures that stores crossing suspension points are preserved.

@jakobbotsch

Copy link
Copy Markdown
Member Author

cc @dotnet/jit-contrib PTAL @EgorBo

@jakobbotsch
jakobbotsch requested a review from EgorBo May 30, 2025 20:24
@jakobbotsch

Copy link
Copy Markdown
Member Author

Ping @EgorBo

@jakobbotsch
jakobbotsch merged commit bf80e0e into dotnet:main Jun 3, 2025
@jakobbotsch
jakobbotsch deleted the fix-116090 branch June 3, 2025 10:37
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 4, 2025
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.

JIT: Byref store after suspension-point removed in runtime async

3 participants