Get an InlineCost with the callee explicitly specified.
Declared in <llvm/Analysis/InlineCost.h>
InlineCost
getInlineCost(
CallBase& Call,
Function* Callee,
InlineParams const& Params,
TargetTransformInfo& CalleeTTI,
function_ref<AssumptionCache&(Function&)> GetAssumptionCache,
function_ref<TargetLibraryInfo const&(Function&)> GetTLI,
function_ref<BlockFrequencyInfo&(Function&)> GetBFI = nullptr,
ProfileSummaryInfo* PSI = nullptr,
OptimizationRemarkEmitter* ORE = nullptr,
function_ref<EphemeralValuesCache&(Function&)> GetEphValuesCache = nullptr);
This allows you to calculate the cost of inlining a function via a pointer. This behaves exactly as the version with no explicit callee parameter in all other respects.
The computed InlineCost for inlining Callee at Call.
| Name | Description |
|---|---|
| Call | Call site whose inlining cost is computed. |
| Callee | Callee to consider; may differ from the called function. |
| Params | Thresholds and knobs that tune the cost analysis. |
| CalleeTTI | Target transform info for the callee. |
| GetAssumptionCache | Callback returning the assumption cache for a function. |
| GetTLI | Callback returning target library info for a function. |
| GetBFI | Optional callback returning block frequency info, or null. |
| PSI | Optional profile summary used for hot/cold callsite thresholds. |
| ORE | Optional remark emitter for inlining diagnostics. |
| GetEphValuesCache | Optional callback returning the ephemeral values cache for a function. |