Uh oh!
There was an error while loading. Please reload this page.
Fix an SSA bug from the ASG refactoring - #86108
Merged
Merged
Conversation
Recording PHIs from analyzable stores is a correctness requirement.
ghost
commented
May 11, 2023
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsThe SSA renaming code was changed in an incompatible way s.t. memory stores in protected blocks were no longer considered to induce PHIs in the corresponding handlers.
|
| for (GenTree* const tree : stmt->TreeList()) | ||
| { | ||
| if (tree->OperIsSsaDef()) | ||
| if (tree->OperIsStore() || tree->OperIs(GT_CALL)) |
ContributorAuthor
There was a problem hiding this comment.
In actuality the same problem exists for un-analyzable stores as well. But that is a pre-existing issue.
Reproduction
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
public staticboolProblem()
{
[MethodImpl(MethodImplOptions.NoInlining)]
staticvoidThrow()
{
_intStatic = 1;
thrownewException();
}
_intStatic = 2;
try
{
Throw();
_intStatic = 2;
}
catch (Exception)
{
if (_intStatic == 2)
{
returntrue;
}
}
returnfalse;
}Filed #86112 for this.
SingleAccretion
marked this pull request as ready for review
May 11, 2023 20:30
SingleAccretion
commented
May 11, 2023
ContributorAuthor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The SSA renaming code was changed in an incompatible way s.t. memory stores in protected blocks were no longer considered to induce PHIs in the corresponding handlers.