class HotColdSplitting
Declaration
class HotColdSplitting { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Transforms/IPO/HotColdSplitting.h:33
Member Variables
- private llvm::ProfileSummaryInfo* PSI
- private function_ref<llvm::BlockFrequencyInfo*( llvm::Function&)> GetBFI
- private function_ref<llvm::TargetTransformInfo&( llvm::Function&)> GetTTI
- private std::function<OptimizationRemarkEmitter&( Function&)>* GetORE
- private function_ref<llvm::AssumptionCache*( llvm::Function&)> LookupAC
Method Overview
- public HotColdSplitting(llvm::ProfileSummaryInfo * ProfSI, function_ref<llvm::BlockFrequencyInfo *(llvm::Function &)> GBFI, function_ref<llvm::TargetTransformInfo &(llvm::Function &)> GTTI, std::function<OptimizationRemarkEmitter &(Function &)> * GORE, function_ref<llvm::AssumptionCache *(llvm::Function &)> LAC)
- private llvm::Function * extractColdRegion(const llvm::BlockSequence & Region, const llvm::CodeExtractorAnalysisCache & CEAC, llvm::DominatorTree & DT, llvm::BlockFrequencyInfo * BFI, llvm::TargetTransformInfo & TTI, llvm::OptimizationRemarkEmitter & ORE, llvm::AssumptionCache * AC, unsigned int Count)
- private bool isFunctionCold(const llvm::Function & F) const
- private bool outlineColdRegions(llvm::Function & F, bool HasProfileSummary)
- public bool run(llvm::Module & M)
- private bool shouldOutlineFrom(const llvm::Function & F) const
Methods
¶HotColdSplitting(
llvm::ProfileSummaryInfo* ProfSI,
function_ref<llvm::BlockFrequencyInfo*(
llvm::Function&)> GBFI,
function_ref<llvm::TargetTransformInfo&(
llvm::Function&)> GTTI,
std::function<OptimizationRemarkEmitter&(
Function&)>* GORE,
function_ref<llvm::AssumptionCache*(
llvm::Function&)> LAC)
HotColdSplitting(
llvm::ProfileSummaryInfo* ProfSI,
function_ref<llvm::BlockFrequencyInfo*(
llvm::Function&)> GBFI,
function_ref<llvm::TargetTransformInfo&(
llvm::Function&)> GTTI,
std::function<OptimizationRemarkEmitter&(
Function&)>* GORE,
function_ref<llvm::AssumptionCache*(
llvm::Function&)> LAC)
Declared at: llvm/include/llvm/Transforms/IPO/HotColdSplitting.h:35
Parameters
- llvm::ProfileSummaryInfo* ProfSI
- function_ref<llvm::BlockFrequencyInfo*( llvm::Function&)> GBFI
- function_ref<llvm::TargetTransformInfo&( llvm::Function&)> GTTI
- std::function<OptimizationRemarkEmitter&( Function&)>* GORE
- function_ref<llvm::AssumptionCache*( llvm::Function&)> LAC
¶llvm::Function* extractColdRegion(
const llvm::BlockSequence& Region,
const llvm::CodeExtractorAnalysisCache& CEAC,
llvm::DominatorTree& DT,
llvm::BlockFrequencyInfo* BFI,
llvm::TargetTransformInfo& TTI,
llvm::OptimizationRemarkEmitter& ORE,
llvm::AssumptionCache* AC,
unsigned int Count)
llvm::Function* extractColdRegion(
const llvm::BlockSequence& Region,
const llvm::CodeExtractorAnalysisCache& CEAC,
llvm::DominatorTree& DT,
llvm::BlockFrequencyInfo* BFI,
llvm::TargetTransformInfo& TTI,
llvm::OptimizationRemarkEmitter& ORE,
llvm::AssumptionCache* AC,
unsigned int Count)
Declared at: llvm/include/llvm/Transforms/IPO/HotColdSplitting.h:47
Parameters
- const llvm::BlockSequence& Region
- const llvm::CodeExtractorAnalysisCache& CEAC
- llvm::DominatorTree& DT
- llvm::BlockFrequencyInfo* BFI
- llvm::TargetTransformInfo& TTI
- llvm::OptimizationRemarkEmitter& ORE
- llvm::AssumptionCache* AC
- unsigned int Count
¶bool isFunctionCold(const llvm::Function& F) const
bool isFunctionCold(const llvm::Function& F) const
Declared at: llvm/include/llvm/Transforms/IPO/HotColdSplitting.h:44
Parameters
- const llvm::Function& F
¶bool outlineColdRegions(llvm::Function& F,
bool HasProfileSummary)
bool outlineColdRegions(llvm::Function& F,
bool HasProfileSummary)
Declared at: llvm/include/llvm/Transforms/IPO/HotColdSplitting.h:46
Parameters
- llvm::Function& F
- bool HasProfileSummary
¶bool run(llvm::Module& M)
bool run(llvm::Module& M)
Declared at: llvm/include/llvm/Transforms/IPO/HotColdSplitting.h:41
Parameters
- llvm::Module& M
¶bool shouldOutlineFrom(
const llvm::Function& F) const
bool shouldOutlineFrom(
const llvm::Function& F) const
Declared at: llvm/include/llvm/Transforms/IPO/HotColdSplitting.h:45
Parameters
- const llvm::Function& F