Skip to content

JIT: refactor edge weight representation #46885

Closed
@AndyAyersMS

Description

@AndyAyersMS

Modify how we represent edge weights in the jit; instead of being discrete weight values they should be computed as the product of the source block's weight times its successor likelihood. Also, we should just have one weight value instead of the current min/max weights.

The goal here is to change the maintenance burden from updating weights to updating likelihoods, so profile maintenance is more block centric.

Edge weights are currently only used / computed during PGO. If we adopt an edge-based profiling scheme (as proposed in #46882) then edge weights will initially be the primary source of data.

This also lays the groundwork for profile synthesis.

First bit of this has landed: #81738

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

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions