ΒΆ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