Skip to content

JIT: use normalized counts throughout #46883

@AndyAyersMS

Description

@AndyAyersMS

Currently the jit has both raw and normalized profile data.

The plan is to change to operate largely on normalized data, and so run normalization as counts are incorporated from the external data source.

To make this possible the jit must know the method entry count; generally this is the count of the first basic block, but in some rare cases where there is a branch in a method to IL offset 0, there is currently no counter with the appropriate value, and the method entry count is deduced by examining the counts of return blocks.

This work item is to properly handle the offset 0 case via instrumentation (in conjunction with efficient probing schemes; #46882) so that early normalization is possible, and then implement normalization and simplify the block weight APIs to remove access to the raw profile counts.

category:cq
theme:profile-feedback
skill-level:expert
cost:medium

Metadata

Metadata

Assignees

Labels

Priority:2Work that is important, but not critical for the releasearea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

Status

PGO

Relationships

None yet

Development

No branches or pull requests

Issue actions