LLVM: lib/CodeGen/MachineFunctionSplitter.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static void setDescendantEHBlocksCold (MachineFunction &MF)
setDescendantEHBlocksCold - This splits all EH pads and blocks reachable only by EH pad as cold.
static void finishAdjustingBasicBlocksAndLandingPads (MachineFunction &MF)
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)
static cl::opt< bool > SplitAllEHCode ("mfs-split-ehcode", cl::desc("Splits all EH code and it's descendants by default."), cl::init(false), cl::Hidden)

finishAdjustingBasicBlocksAndLandingPads()

static void finishAdjustingBasicBlocksAndLandingPads ( MachineFunction & MF) static

INITIALIZE_PASS()

INITIALIZE_PASS ( MachineFunctionSplitter ,
"machine-function-splitter" ,
"Split machine functions using profile information" ,
false ,
false
)

isColdBlock()

setDescendantEHBlocksCold()

ColdCountThreshold

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) ( "mfs-count-threshold" , cl::desc( "Minimum number of times a block must be executed to be retained.") , cl::init(1) , cl::Hidden ) static

PercentileCutoff

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) ( "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

SplitAllEHCode

cl::opt< bool > SplitAllEHCode("mfs-split-ehcode", cl::desc("Splits all EH code and it's descendants by default."), cl::init(false), cl::Hidden) ( "mfs-split-ehcode" , cl::desc("Splits all EH code and it's descendants by default.") , cl::init(false) , cl::Hidden ) static