Thresholds and options for the profile inference algorithm.

Synopsis

Declared in <llvm/Transforms/Utils/SampleProfileInference.h>

struct ProfiParams;

Description

Default values are tuned for several large‐scale applications, and can be modified via corresponding command‐line flags.

Data Members

Name

Description

CostBlockDec

The cost of decreasing a block's count by one.

CostBlockEntryDec

The cost of decreasing the entry block's count by one.

CostBlockEntryInc

The cost of increasing the entry block's count by one.

CostBlockInc

The cost of increasing a block's count by one.

CostBlockUnknownInc

The cost of increasing an unknown block's count by one.

CostBlockZeroInc

The cost of increasing a count of zero‐weight block by one.

CostJumpDec

The cost of decreasing a jump's count by one.

CostJumpFTDec

The cost of decreasing a fall‐through jump's count by one.

CostJumpFTInc

The cost of increasing a fall‐through jump's count by one.

CostJumpInc

The cost of increasing a jump's count by one.

CostJumpUnknownFTInc

The cost of increasing an unknown fall‐through jump's count by one.

CostJumpUnknownInc

The cost of increasing an unknown jump's count by one.

CostUnlikely

The cost of taking an unlikely block/jump.

EvenFlowDistribution

Evenly distribute flow when there are multiple equally likely options.

JoinIslands

Join isolated components having positive flow.

RebalanceUnknown

Evenly re‐distribute flow among unknown subgraphs.

Non-Member Functions

Name

Description

applyFlowInference

Apply the profile inference algorithm to Func with custom Params.

Created with MrDocs