-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Allow folding of LONG nodes with field sequences
#57605
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
Allow folding of LONG nodes with field sequences
#57605
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsApparently, such folding was disallowed, for unclear reasons likely pertaining to the fact that No SPMI diffs for Small positive diffs for
|
LONG nodes with field sequences
7b19097 to
8195125
Compare
|
Failures are #57620, so this is ready for review now. Thanks to @echesakovMSFT for pointing out this inefficiency! We may want to run the stress pipelines to not have surprises with the new assert. |
8195125 to
2e91ad5
Compare
sandreenko
left a comment
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.
LGTM, thanks for fixing this.
|
@echesakov is on vacation, PTAL @BruceForstall |
|
@BruceForstall Please review and merge the community PR. |
|
@SingleAccretion Can you fix the file conflict (and rebase)? |
2e91ad5 to
95ff65a
Compare
Apparently, such folding was disallowed, for unclear reasons likely pertaining to the fact that "gtFoldExprConst" is very old.
95ff65a to
e5b3f43
Compare
|
@BruceForstall done. Failures look like infrastructure issues: |
Apparently, such folding was disallowed, for unclear reasons likely pertaining to the fact that
gtFoldExprConstis very old.No SPMI diffs for
linux-armandwin-x86(as expected).Small positive diffs for
win-arm64andwin-x64, also as expected.coreclr_tests.pmi.windows.arm64.checked.mch:
Detail diffs
libraries.crossgen2.windows.arm64.checked.mch:
Detail diffs
libraries.pmi.windows.arm64.checked.mch:
Detail diffs
libraries_tests.pmi.windows.arm64.checked.mch:
Detail diffs
coreclr_tests.pmi.windows.x64.checked.mch:
Detail diffs
libraries.crossgen2.windows.x64.checked.mch:
Detail diffs
libraries.pmi.windows.x64.checked.mch:
Detail diffs
libraries_tests.pmi.windows.x64.checked.mch:
Detail diffs
The usual pattern that is being optimized now is array access with constant offsets: