-
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
PGO Inlining Policy #43914
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Comments
AndyAyersMS
added
the
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
label
Oct 27, 2020
Dotnet-GitSync-Bot
added
the
untriaged
New issue has not been triaged by the area owner
label
Oct 27, 2020
AndyAyersMS
removed
the
untriaged
New issue has not been triaged by the area owner
label
Oct 27, 2020
Prototyping on this branch. |
Preliminary version added in #44427. Still needs a fair bit of work. |
@EgorBo is going to work on inlining enhancements for PGO, so assigning this over to him. |
Inlining is never done, but yes I think we can close this. |
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
Implement an inlining policy that takes PGO data more directly into account.
The general heuristic for an inline should be something like:
Suggest we start with the
ModelPolicy
which already has most of this structure, and amend/modify/clone it. Make the threshold adjustable and start to experiment.We can use the size estimates that it produces as that seemed fairly accurate (in particular pretty good at predicting size-decreasing inlines).
Perhaps leave off global importance for now as we can't necessarily infer from TieredPGO how often a method is called, the value will depend in part on the rate of promotion to Tier1. So low method entry count may just mean the method got tiered up quickly (on the other hand, a high count does mean the method is called a lot).
The text was updated successfully, but these errors were encountered: