Skip to content

Conversation

@SingleAccretion
Copy link
Contributor

@SingleAccretion SingleAccretion commented Dec 17, 2021

This change does away with one more case of custom traversal logic.

Semantic changes have mostly been avoided, with some exceptions:

  1. Dead checking of GLOB_REF on ADDR was dropped
  2. Dead checking of GLOB_REF on statics was commented out
  3. REVERSE_OPS checking was strengthened
  4. Flag propagation for calls was also strengthened

Note: the GLOB_REF checking was dead because we do not check for "extra" GLOB_REF flags, and the code in question was using the "actual" treeFlags.

Also renamed treeFlags to actualFlags and chkFlags to expectedFlags as the handle checking code was apparently confused by the (somewhat unobvious) names and got them swapped.

No diffs.

@ghost ghost added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member labels Dec 17, 2021
@ghost
Copy link

ghost commented Dec 17, 2021

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

Issue Details

This change does away with one more case of custom traversal logic.

Semantic changes have mostly been avoided, with some exceptions:

  1. Dead checking of GLOB_REF on ADDR was dropped
  2. Dead checking of GLOB_REF on statics was commented out
  3. REVERSE_OPS checking was strengthened
  4. Flag propagation for calls was also strengthened

Note: the GLOB_REF checking was dead because we do not check for "extra" GLOB_REF flags, and the code in question was using the "actual" treeFlags.

Also renamed treeFlags to actualFlags and chkFlags to expectedFlags as the handle checking code was apparently confused by the (somewhat unobvious) names and got them swapped.

Author: SingleAccretion
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@SingleAccretion SingleAccretion force-pushed the TODO-List-Cleanup-fgDebugCheckFlags branch 2 times, most recently from 8bc8fac to 2d98637 Compare December 17, 2021 09:45
@SingleAccretion SingleAccretion force-pushed the TODO-List-Cleanup-fgDebugCheckFlags branch 2 times, most recently from 41aeb3c to b357b78 Compare December 17, 2021 10:37
@SingleAccretion SingleAccretion marked this pull request as ready for review December 17, 2021 13:45
@SingleAccretion
Copy link
Contributor Author

@dotnet/jit-contrib

@SingleAccretion SingleAccretion force-pushed the TODO-List-Cleanup-fgDebugCheckFlags branch from b357b78 to 541904d Compare December 20, 2021 09:44
This change does away with one more case of custom traversal logic.

Semantic changes have mostly been avoided, with some exceptions:

1) Dead checking of GLOB_REF on ADDR was dropped
2) Dead checking of GLOB_REF on statics was commented out
3) REVERSE_OPS checking was strengthened
4) Flag propagation for calls was also strengthened

Note: the GLOB_REF checking was dead because we do not check for
"extra" GLOB_REF flags, and the code in question was using the
"actual" "treeFlags".

Also renamed "treeFlags" to "actualFlags" and "chkFlags" to
"expectedFlags" as the handle checking code was apparently
confused by the (somewhat unobvious) names and got them swapped.
The code in question was copying GT_LCL_VAR flags to GT_CNS_INT
nodes, which is dangerous and not necessary. There is no need to
copy the flags in case we didn't create a new constant node as
the code under "DONE:" already does that.

Found by the new checking code for GTF_REVERSE_OPS.
@SingleAccretion SingleAccretion force-pushed the TODO-List-Cleanup-fgDebugCheckFlags branch from 541904d to f3dfd94 Compare December 20, 2021 10:34
Copy link
Member

@AndyAyersMS AndyAyersMS left a comment

Choose a reason for hiding this comment

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

LGTM. Thanks!

@AndyAyersMS AndyAyersMS merged commit 2a86305 into dotnet:main Jan 11, 2022
@SingleAccretion SingleAccretion deleted the TODO-List-Cleanup-fgDebugCheckFlags branch January 11, 2022 14:35
@ghost ghost locked as resolved and limited conversation to collaborators Feb 10, 2022
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 community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants