LLVM 19.0.0git
Public Attributes | List of all members
llvm::ProfiParams Struct Reference

Various thresholds and options controlling the behavior of the profile inference algorithm. More...

#include "llvm/Transforms/Utils/SampleProfileInference.h"

Public Attributes

bool EvenFlowDistribution {false}
 Evenly distribute flow when there are multiple equally likely options.
 
bool RebalanceUnknown {false}
 Evenly re-distribute flow among unknown subgraphs.
 
bool JoinIslands {false}
 Join isolated components having positive flow.
 
unsigned CostBlockInc {0}
 The cost of increasing a block's count by one.
 
unsigned CostBlockDec {0}
 The cost of decreasing a block's count by one.
 
unsigned CostBlockZeroInc {0}
 The cost of increasing a count of zero-weight block by one.
 
unsigned CostBlockEntryInc {0}
 The cost of increasing the entry block's count by one.
 
unsigned CostBlockEntryDec {0}
 The cost of decreasing the entry block's count by one.
 
unsigned CostBlockUnknownInc {0}
 The cost of increasing an unknown block's count by one.
 
unsigned CostJumpInc {0}
 The cost of increasing a jump's count by one.
 
unsigned CostJumpFTInc {0}
 The cost of increasing a fall-through jump's count by one.
 
unsigned CostJumpDec {0}
 The cost of decreasing a jump's count by one.
 
unsigned CostJumpFTDec {0}
 The cost of decreasing a fall-through jump's count by one.
 
unsigned CostJumpUnknownInc {0}
 The cost of increasing an unknown jump's count by one.
 
unsigned CostJumpUnknownFTInc {0}
 The cost of increasing an unknown fall-through jump's count by one.
 
const int64_t CostUnlikely = ((int64_t)1) << 30
 The cost of taking an unlikely block/jump.
 

Detailed Description

Various thresholds and options controlling the behavior of the profile inference algorithm.

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

Definition at line 65 of file SampleProfileInference.h.

Member Data Documentation

◆ CostBlockDec

unsigned llvm::ProfiParams::CostBlockDec {0}

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

Definition at line 79 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ CostBlockEntryDec

unsigned llvm::ProfiParams::CostBlockEntryDec {0}

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

Definition at line 88 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ CostBlockEntryInc

unsigned llvm::ProfiParams::CostBlockEntryInc {0}

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

Definition at line 85 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ CostBlockInc

unsigned llvm::ProfiParams::CostBlockInc {0}

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

Definition at line 76 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ CostBlockUnknownInc

unsigned llvm::ProfiParams::CostBlockUnknownInc {0}

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

Definition at line 91 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ CostBlockZeroInc

unsigned llvm::ProfiParams::CostBlockZeroInc {0}

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

Definition at line 82 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ CostJumpDec

unsigned llvm::ProfiParams::CostJumpDec {0}

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

Definition at line 100 of file SampleProfileInference.h.

◆ CostJumpFTDec

unsigned llvm::ProfiParams::CostJumpFTDec {0}

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

Definition at line 103 of file SampleProfileInference.h.

◆ CostJumpFTInc

unsigned llvm::ProfiParams::CostJumpFTInc {0}

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

Definition at line 97 of file SampleProfileInference.h.

◆ CostJumpInc

unsigned llvm::ProfiParams::CostJumpInc {0}

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

Definition at line 94 of file SampleProfileInference.h.

◆ CostJumpUnknownFTInc

unsigned llvm::ProfiParams::CostJumpUnknownFTInc {0}

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

Definition at line 109 of file SampleProfileInference.h.

◆ CostJumpUnknownInc

unsigned llvm::ProfiParams::CostJumpUnknownInc {0}

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

Definition at line 106 of file SampleProfileInference.h.

◆ CostUnlikely

const int64_t llvm::ProfiParams::CostUnlikely = ((int64_t)1) << 30

The cost of taking an unlikely block/jump.

Definition at line 112 of file SampleProfileInference.h.

◆ EvenFlowDistribution

bool llvm::ProfiParams::EvenFlowDistribution {false}

Evenly distribute flow when there are multiple equally likely options.

Definition at line 67 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ JoinIslands

bool llvm::ProfiParams::JoinIslands {false}

Join isolated components having positive flow.

Definition at line 73 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ RebalanceUnknown

bool llvm::ProfiParams::RebalanceUnknown {false}

Evenly re-distribute flow among unknown subgraphs.

Definition at line 70 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().


The documentation for this struct was generated from the following file: