-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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: profile checking through inlining #101834
JIT: profile checking through inlining #101834
Conversation
Advance profile consistency check through inlining. Turns out there are five reasons why inlining may make profile data inconstent. Account for these and add metrics. Also add separate metrics for consistency before and after inlining, since pre-inline phases are run on inlinees and so don't give us good insight into overall consistency rates. And add some metrics for inlining itself. Contributes to dotnet#93020.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
@amanasifkhalid PTAL Some stats from ASP.NET (only for methods that have inlines). Roughly 80% consistent going in to inlining, 60% consistent coming out.
Fair number of diffs in some collections. There are two spots where we alter profiles from base that are the likely causes -- I will spot check to make sure nothing else is going on.
|
osx-arm64 build issue is a crash in clang:
Am going to rerun and hope this is a very intermittent failure, otherwise will try and repro this locally and file a bug. |
Fyi @EgorBo per above we bail out of inlining late less than 1% of the time |
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, assuming CI looks good (hopefully that clang failure doesn't become a blocker). Thanks!
Co-authored-by: Aman Khalid <amankhalid@microsoft.com>
SPMI failures are lagging collections after a GUID update. Am going to ignore. |
Advance profile consistency check through inlining. Turns out there are five reasons why inlining may make profile data inconsistent. Account for these and add metrics. Also add separate metrics for consistency before and after inlining, since pre-inline phases are run on inlinees and so don't give us good insight into overall consistency rates. And add some metrics for inlining itself. Contributes to dotnet#93020. Co-authored-by: Aman Khalid <amankhalid@microsoft.com>
Advance profile consistency check through inlining. Turns out there are five reasons why inlining may make profile data inconsistent. Account for these and add metrics. Also add separate metrics for consistency before and after inlining, since pre-inline phases are run on inlinees and so don't give us good insight into overall consistency rates. And add some metrics for inlining itself. Contributes to dotnet#93020. Co-authored-by: Aman Khalid <amankhalid@microsoft.com>
Advance profile consistency check through inlining. Turns out there are five reasons why inlining may make profile data inconstent. Account for these and add metrics.
Also add separate metrics for consistency before and after inlining, since pre-inline phases are run on inlinees and so don't give us good insight into overall consistency rates. And add some metrics for inlining itself.
Contributes to #93020.