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

JIT: Enable profile consistency checking up to morph #111047

Merged
merged 11 commits into from
Jan 7, 2025

Conversation

amanasifkhalid
Copy link
Member

Part of #107749. Stopping before morph seems like a sensible place, since maintaining the profile through morph will keep throw blocks with flow into them hot -- I expect that will incur plenty of diffs.

Waiting for #111006 and #111009 to go through first.

@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 Jan 3, 2025
Copy link
Contributor

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

@amanasifkhalid
Copy link
Member Author

/azp run runtime-coreclr outerloop, Fuzzlyn, Antigen

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@amanasifkhalid amanasifkhalid marked this pull request as ready for review January 6, 2025 16:15
@amanasifkhalid
Copy link
Member Author

/azp run runtime-coreclr outerloop, Fuzzlyn, Antigen

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@amanasifkhalid
Copy link
Member Author

cc @dotnet/jit-contrib, @AndyAyersMS PTAL. Fuzzers didn't find any profile-related issues, and the outerloop runs are hitting #110958. Diffs are limited since we're missing some collections, though they're still fairly dramatic -- I suspect most of this churn is from tail-merging based on the diffs from #110656, and from the tweaks to fgFoldConditional since that's called in various phases. Diffs look to be largely in layout and LSRA.

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.

Thanks!

Would be interested in seeing stats on how many methods are consistent through morph.

@amanasifkhalid
Copy link
Member Author

Would be interested in seeing stats on how many methods are consistent through morph.

Yeah, I plan on adding metrics in the next push. After morph seems like a good place to run profile repair, since that's where we currently try to fill in the blanks with fgComputeBlockWeights, optSetBlockWeights, etc.

@amanasifkhalid amanasifkhalid merged commit aecae2c into dotnet:main Jan 7, 2025
155 of 176 checks passed
@amanasifkhalid amanasifkhalid deleted the profile-checks-tail-merge branch January 7, 2025 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants