-
Notifications
You must be signed in to change notification settings - Fork 5.3k
JIT: Reset last-use flag for live defs in liveness #121553
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
Conversation
We would leave `GTF_VAR_DEATH` set if it had already been set on the node from a previous run of liveness.
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
There was a problem hiding this comment.
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 fixes issue #121552 by ensuring the GTF_VAR_DEATH flag is properly reset during liveness analysis when it may run multiple times. The fix addresses a case where the flag could remain set from a previous liveness analysis run, leading to incorrect behavior.
Key Changes:
- Added code to clear
GTF_VAR_DEATHflag infgComputeLifeTrackedLocalDefwhen a variable is determined to be live - This mirrors the existing pattern already present in the companion function
fgComputeLifeTrackedLocalUse
|
PTAL @dotnet/jit-contrib. We have this kind of flag clearing in other places in liveness, but looks like this place missed it. |
|
/ba-g Timeouts |
We would leave
GTF_VAR_DEATHset if it had already been set on the node from a previous run of liveness.In the issue that resulted in
TreeLifeUpdatercomputing the wrong liveness set resulting in us not saving a live local around a suspension.Fix #121552