LLVM
15.0.0git
|
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/ProfileSummaryInfo.h"
#include "llvm/CodeGen/BasicBlockSectionUtils.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/IR/Function.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/CommandLine.h"
Go to the source code of this file.
Functions | |
static bool | isColdBlock (const MachineBasicBlock &MBB, const MachineBlockFrequencyInfo *MBFI, ProfileSummaryInfo *PSI) |
INITIALIZE_PASS (MachineFunctionSplitter, "machine-function-splitter", "Split machine functions using profile information", false, false) MachineFunctionPass *llvm | |
Variables | |
static cl::opt< unsigned > | PercentileCutoff ("mfs-psi-cutoff", cl::desc("Percentile profile summary cutoff used to " "determine cold blocks. Unused if set to zero."), cl::init(999950), cl::Hidden) |
static cl::opt< unsigned > | ColdCountThreshold ("mfs-count-threshold", cl::desc("Minimum number of times a block must be executed to be retained."), cl::init(1), cl::Hidden) |
INITIALIZE_PASS | ( | MachineFunctionSplitter | , |
"machine-function-splitter" | , | ||
"Split machine functions using profile information" | , | ||
false | , | ||
false | |||
) |
Definition at line 161 of file MachineFunctionSplitter.cpp.
|
static |
Definition at line 79 of file MachineFunctionSplitter.cpp.
References ColdCountThreshold, llvm::MachineBlockFrequencyInfo::getBlockProfileCount(), llvm::Optional< T >::hasValue(), llvm::ProfileSummaryInfo::isColdCountNthPercentile(), MBB, and PercentileCutoff.
Referenced by llvm::shouldOptimizeForSizeImpl().
|
static |
Referenced by isColdBlock(), llvm::ProfileSummaryInfo::isColdBlockNthPercentile(), llvm::ProfileSummaryInfo::isColdCountNthPercentile(), llvm::ProfileSummaryInfo::isFunctionColdInCallGraphNthPercentile(), llvm::ProfileSummaryInfo::isFunctionHotInCallGraphNthPercentile(), llvm::ProfileSummaryInfo::isHotBlockNthPercentile(), and llvm::ProfileSummaryInfo::isHotCountNthPercentile().