LLVM 17.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"

Collaboration diagram for llvm::ProfiParams:
Collaboration graph
[legend]

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 87 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 101 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 110 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 107 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 98 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 113 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 104 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 122 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 125 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 119 of file SampleProfileInference.h.

◆ CostJumpInc

unsigned llvm::ProfiParams::CostJumpInc {0}

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

Definition at line 116 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 131 of file SampleProfileInference.h.

◆ CostJumpUnknownInc

unsigned llvm::ProfiParams::CostJumpUnknownInc {0}

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

Definition at line 128 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 134 of file SampleProfileInference.h.

◆ EvenFlowDistribution

bool llvm::ProfiParams::EvenFlowDistribution {false}

Evenly distribute flow when there are multiple equally likely options.

Definition at line 89 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ JoinIslands

bool llvm::ProfiParams::JoinIslands {false}

Join isolated components having positive flow.

Definition at line 95 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().

◆ RebalanceUnknown

bool llvm::ProfiParams::RebalanceUnknown {false}

Evenly re-distribute flow among unknown subgraphs.

Definition at line 92 of file SampleProfileInference.h.

Referenced by llvm::applyFlowInference().


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