llvm::InlineParams

Parameters that tune thresholds used by inline cost analysis.

Synopsis

Declared in <llvm/Analysis/InlineCost.h>

struct InlineParams;

Description

The inline cost analysis decides the condition to apply a threshold and applies it. Otherwise, DefaultThreshold is used. If a threshold is Optional, it is applied only when it has a valid value. Typically, users of inline cost analysis obtain an InlineParams object through one of the getInlineParams methods and pass it to getInlineCost. Some specialized versions of inliner (such as the pre-inliner) might have custom logic to compute InlineParams object.

Data Members

NameDescription
AllowRecursiveCall Indicate whether we allow inlining for recursive call.
ColdCallSiteThreshold Threshold to use when the callsite is considered cold.
ColdThreshold Threshold to use for cold callees.
ComputeFullInlineCost Compute inline cost even when the cost has exceeded the threshold.
DefaultThreshold The default threshold to start with for a callee.
EnableDeferral Indicate whether we should allow inline deferral.
HintThreshold Threshold to use for callees with inline hint.
HotCallSiteThreshold Threshold to use when the callsite is considered hot.
LocallyHotCallSiteThreshold Threshold to use when the callsite is considered hot relative to function entry.
OptMinSizeThreshold Threshold to use when the caller is optimized for minsize.
OptSizeHintThreshold Threshold to use for callees with inline hint, when the caller is optimized for size.
OptSizeThreshold Threshold to use when the caller is optimized for size.

Non-Member Functions

NameDescription
getInlineParamsGenerate the parameters to tune the inline cost analysis based on command line options.
getInlineParamsGenerate the parameters to tune the inline cost analysis based only on the commandline options.
getInlineParamsFromOptLevelGenerate the parameters to tune the inline cost analysis based on command line options.