|
clang 22.0.0git
|
#include "CodeGenPGO.h"#include "CGDebugInfo.h"#include "CodeGenFunction.h"#include "CoverageMappingGen.h"#include "clang/AST/RecursiveASTVisitor.h"#include "clang/AST/StmtVisitor.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/MDBuilder.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Endian.h"#include "llvm/Support/MD5.h"#include <optional>Go to the source code of this file.
Namespaces | |
| namespace | llvm |
| Diagnostic wrappers for TextAPI types for error reporting. | |
Macros | |
| #define | DEFINE_NESTABLE_TRAVERSAL(N) |
Enumerations | |
| enum | PGOHashVersion : unsigned { PGO_HASH_V1 , PGO_HASH_V2 , PGO_HASH_V3 , PGO_HASH_LATEST = PGO_HASH_V3 } |
| The version of the PGO hash algorithm. More... | |
Functions | |
| static llvm::cl::opt< bool > | EnableValueProfiling ("enable-value-profiling", llvm::cl::desc("Enable value profiling"), llvm::cl::Hidden, llvm::cl::init(false)) |
| static uint64_t | calculateWeightScale (uint64_t MaxWeight) |
| Calculate what to divide by to scale weights. | |
| static uint32_t | scaleBranchWeight (uint64_t Weight, uint64_t Scale) |
| Scale an individual branch weight (and add 1). | |
| #define DEFINE_NESTABLE_TRAVERSAL | ( | N | ) |
Definition at line 475 of file CodeGenPGO.cpp.
| enum PGOHashVersion : unsigned |
The version of the PGO hash algorithm.
| Enumerator | |
|---|---|
| PGO_HASH_V1 | |
| PGO_HASH_V2 | |
| PGO_HASH_V3 | |
| PGO_HASH_LATEST | |
Definition at line 57 of file CodeGenPGO.cpp.
|
static |
Calculate what to divide by to scale weights.
Given the maximum weight, calculate a divisor that will scale all the weights to strictly less than UINT32_MAX.
Definition at line 1447 of file CodeGenPGO.cpp.
|
static |
Scale an individual branch weight (and add 1).
Scale a 64-bit weight down to 32-bits using Scale.
According to Laplace's Rule of Succession, it is better to compute the weight based on the count plus 1, so universally add 1 to the value.
Scale was calculated by calculateWeightScale() with a weight no greater than Weight. Definition at line 1460 of file CodeGenPGO.cpp.