Pseudo probe distribution factor updater.

Synopsis

Declared in <llvm/Transforms/IPO/SampleProfileProbe.h>

class PseudoProbeUpdatePass
    : public OptionalPassInfoMixin<PseudoProbeUpdatePass>

Description

Sample profile annotation can happen in both LTO prelink and postlink. The postlink‐time re‐annotation can degrade profile quality because of prelink code duplication transformation, such as loop unrolling, jump threading, indirect call promotion etc. As such, samples corresponding to a source location may be aggregated multiple times in postlink. With a concept of distribution factor for pseudo probes, samples can be distributed among duplicated probes reasonable based on the assumption that optimizations duplicating code well‐maintain the branch frequency information (BFI). This pass updates distribution factors for each pseudo probe at the end of the prelink pipeline, to reflect an estimated portion of the real execution count.

Base Classes

Name

Description

OptionalPassInfoMixin<PseudoProbeUpdatePass>

A CRTP mix‐in for passes that can be skipped.

Member Functions

Name

Description

PseudoProbeUpdatePass [constructor]

Construct a pseudo‐probe factor update pass.

run

Run the pseudo‐probe factor update over the given module.

Static Member Functions

Name

Description

isRequired

Return false; optional passes may be skipped.

Created with MrDocs