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: Don't convert unreachable BBJ_CALLFINALLYRET blocks to BBJ_THROW during morph #109519

Merged
merged 1 commit into from
Nov 5, 2024

Conversation

amanasifkhalid
Copy link
Member

Fix #109514. Fix #109515. Follow-up to #109394. Converting BBJ_CALLFINALLYRET blocks to BBJ_THROW without considering the block's corresponding BBJ_CALLFINALLY block breaks flowgraph invariants. The simplest solution seems to be to not convert such blocks to BBJ_THROW, and let early flowgraph opts convert the call-finally pair into a retless BBJ_CALLFINALLY.

@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 Nov 4, 2024
@amanasifkhalid
Copy link
Member Author

/azp run Antigen

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@amanasifkhalid
Copy link
Member Author

cc @dotnet/jit-contrib, @AndyAyersMS PTAL. Antigen run didn't find anything new. No diffs. Thanks!

@amanasifkhalid
Copy link
Member Author

/ba-g macOS pipelines blocked by deprecated images

@amanasifkhalid amanasifkhalid merged commit 33af1a2 into dotnet:main Nov 5, 2024
92 of 112 checks passed
@amanasifkhalid amanasifkhalid deleted the fix-callfinally-removal branch November 5, 2024 15:43
@github-actions github-actions bot locked and limited conversation to collaborators Dec 6, 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
2 participants