ΒΆOptional<int> getInliningCostEstimate(
llvm::CallBase& Call,
llvm::TargetTransformInfo& CalleeTTI,
function_ref<llvm::AssumptionCache&(
llvm::Function&)> GetAssumptionCache,
function_ref<llvm::BlockFrequencyInfo&(
llvm::Function&)> GetBFI = nullptr,
llvm::ProfileSummaryInfo* PSI = nullptr,
llvm::OptimizationRemarkEmitter* ORE =
nullptr)
Optional<int> getInliningCostEstimate(
llvm::CallBase& Call,
llvm::TargetTransformInfo& CalleeTTI,
function_ref<llvm::AssumptionCache&(
llvm::Function&)> GetAssumptionCache,
function_ref<llvm::BlockFrequencyInfo&(
llvm::Function&)> GetBFI = nullptr,
llvm::ProfileSummaryInfo* PSI = nullptr,
llvm::OptimizationRemarkEmitter* ORE =
nullptr)
Description
Get the cost estimate ignoring thresholds. This is similar to getInlineCost when passed InlineParams::ComputeFullInlineCost, or a non-null ORE. It uses default InlineParams otherwise. Contrary to getInlineCost, which makes a threshold-based final evaluation of should/shouldn't inline, captured in InlineResult, getInliningCostEstimate returns: - None, if the inlining cannot happen (is illegal) - an integer, representing the cost.
Declared at: llvm/include/llvm/Analysis/InlineCost.h:301
Parameters
- llvm::CallBase& Call
- llvm::TargetTransformInfo& CalleeTTI
- function_ref<llvm::AssumptionCache&( llvm::Function&)> GetAssumptionCache
- function_ref<llvm::BlockFrequencyInfo&( llvm::Function&)> GetBFI = nullptr
- llvm::ProfileSummaryInfo* PSI = nullptr
- llvm::OptimizationRemarkEmitter* ORE = nullptr