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

Move ASG rationalization to just after global morph #85494

Merged

Conversation

SingleAccretion
Copy link
Contributor

@SingleAccretion SingleAccretion commented Apr 27, 2023

This moves the rationalization further up the phase list, placing it just before global morph.

@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Apr 27, 2023
@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 Apr 27, 2023
@SingleAccretion SingleAccretion marked this pull request as draft April 27, 2023 23:03
@ghost
Copy link

ghost commented Apr 27, 2023

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

Issue Details

CI/diffs check.

Author: SingleAccretion
Assignees: -
Labels:

area-CodeGen-coreclr, community-contribution

Milestone: -

@SingleAccretion
Copy link
Contributor Author

Overall TP diff:
image

image

(Only MinOpts regression is in a CG collection, which is not representative)

@SingleAccretion SingleAccretion force-pushed the Op-Req-Asg-Before-Global-Morph branch from 114df04 to 2c022d5 Compare May 2, 2023 20:49
@SingleAccretion SingleAccretion force-pushed the Op-Req-Asg-Before-Global-Morph branch from 2c022d5 to 1aa7ffd Compare May 2, 2023 20:56
@SingleAccretion
Copy link
Contributor Author

Diffs.

There are a few code diffs. They come from two sources:

  1. Some assignment nodes for small locals could have types different from their LHSs because we don't retype the parent ASG in local morph when transforming indirect stores. This blocked tail merging.
  2. Early prop logic relied on LHSs having GLOB_REFs to detect globally visible stores. This could not quite be replicated perfectly without the LHS present due to the propagating nature of flags.

@dotnet/jit-contrib

@BruceForstall
Copy link
Member

This looks great, and the throughput improvement is amazing. Let's run some stress...

@BruceForstall
Copy link
Member

/azp run runtime-coreclr outerloop, runtime-coreclr jitstress, runtime-coreclr libraries-jitstress, Fuzzlyn

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@BruceForstall
Copy link
Member

The only test failure is #85663

Copy link
Member

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

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

Thanks again for your substantial contributions to RyuJIT!

@BruceForstall BruceForstall merged commit 6649f98 into dotnet:main May 6, 2023
@SingleAccretion SingleAccretion deleted the Op-Req-Asg-Before-Global-Morph branch May 6, 2023 16:17
@ghost ghost locked as resolved and limited conversation to collaborators Jun 5, 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 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