The inliner's profitability model needs to take the local call site frequency into account. This value can either be provided by IBC (Instrumented Block Count) profile feedback or estimated (via heuristics).
Verify that the initial (top-level) estimates are reasonable. Since IBC is not yet available for CoreCLR we can initially just do this for the estimated weights. As far as I know the JIT has a simple model for branch probabilities.
As inlines are performed, new calll sites are added from calls in inlinees. Determine if the block weight allocation for these newly introduced call sites are likewise reasonable. These weight determinations are made in fgInsertInlineeBlocks.
category:cq
theme:inlining
skill-level:intermediate
cost:medium
The inliner's profitability model needs to take the local call site frequency into account. This value can either be provided by IBC (Instrumented Block Count) profile feedback or estimated (via heuristics).
Verify that the initial (top-level) estimates are reasonable. Since IBC is not yet available for CoreCLR we can initially just do this for the estimated weights. As far as I know the JIT has a simple model for branch probabilities.
As inlines are performed, new calll sites are added from calls in inlinees. Determine if the block weight allocation for these newly introduced call sites are likewise reasonable. These weight determinations are made in
fgInsertInlineeBlocks.category:cq
theme:inlining
skill-level:intermediate
cost:medium