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: Fix indir flags propagation for a couple of cases #79751

Merged
merged 1 commit into from
Dec 17, 2022

Conversation

jakobbotsch
Copy link
Member

SetIndirExceptionFlags expects only unary indirs (reads) and does not handle other cases correctly. Add an assert for it and fix the users.

Only fgMorphStoreDynBlock had the bug since gtUpdateNodeOperSideEffects assumes the caller will propagate effect flags from operands afterwards.

Extracted from #79346.

Fix #79750

SetIndirExceptionFlags expects only unary indirs (reads) and does not
handle other cases correctly. Add an assert for it and fix the users.

Only fgMorphStoreDynBlock had the bug since gtUpdateNodeOperSideEffects
assumes the caller will propagate effect flags from operands afterwards.

Extracted from early liveness PR.

Fix dotnet#79750
@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 Dec 16, 2022
@ghost ghost assigned jakobbotsch Dec 16, 2022
@ghost
Copy link

ghost commented Dec 16, 2022

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

Issue Details

SetIndirExceptionFlags expects only unary indirs (reads) and does not handle other cases correctly. Add an assert for it and fix the users.

Only fgMorphStoreDynBlock had the bug since gtUpdateNodeOperSideEffects assumes the caller will propagate effect flags from operands afterwards.

Extracted from #79346.

Fix #79750

Author: jakobbotsch
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch
Copy link
Member Author

cc @dotnet/jit-contrib PTAL @BruceForstall

@jakobbotsch jakobbotsch merged commit e66a6a3 into dotnet:main Dec 17, 2022
@jakobbotsch jakobbotsch deleted the fix-79750 branch December 17, 2022 09:10
@ghost ghost locked as resolved and limited conversation to collaborators Jan 16, 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.

JIT: invalid flags handling by fgMorphStoreDynBlock
2 participants