LLVM: llvm::InlineParams Struct Reference (original) (raw)
Thresholds to tune inline cost analysis. More...
#include "[llvm/Analysis/InlineCost.h](InlineCost%5F8h%5Fsource.html)"
| Public Attributes | |
|---|---|
| int | DefaultThreshold = -1 |
| The default threshold to start with for a callee. | |
| std::optional< int > | HintThreshold |
| Threshold to use for callees with inline hint. | |
| std::optional< int > | ColdThreshold |
| Threshold to use for cold callees. | |
| std::optional< int > | OptSizeThreshold |
| Threshold to use when the caller is optimized for size. | |
| std::optional< int > | OptMinSizeThreshold |
| Threshold to use when the caller is optimized for minsize. | |
| std::optional< int > | HotCallSiteThreshold |
| Threshold to use when the callsite is considered hot. | |
| std::optional< int > | LocallyHotCallSiteThreshold |
| Threshold to use when the callsite is considered hot relative to function entry. | |
| std::optional< int > | ColdCallSiteThreshold |
| Threshold to use when the callsite is considered cold. | |
| std::optional< bool > | ComputeFullInlineCost |
| Compute inline cost even when the cost has exceeded the threshold. | |
| std::optional< bool > | EnableDeferral |
| Indicate whether we should allow inline deferral. | |
| std::optional< bool > | AllowRecursiveCall = false |
| Indicate whether we allow inlining for recursive call. |
Thresholds to tune inline cost analysis.
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](structllvm%5F1%5F1InlineParams.html "Thresholds to tune inline cost analysis.") object.
Definition at line 207 of file InlineCost.h.
◆ AllowRecursiveCall
std::optional<bool> llvm::InlineParams::AllowRecursiveCall = false
Indicate whether we allow inlining for recursive call.
Definition at line 240 of file InlineCost.h.
◆ ColdCallSiteThreshold
std::optional llvm::InlineParams::ColdCallSiteThreshold
◆ ColdThreshold
std::optional llvm::InlineParams::ColdThreshold
◆ ComputeFullInlineCost
std::optional<bool> llvm::InlineParams::ComputeFullInlineCost
Compute inline cost even when the cost has exceeded the threshold.
Definition at line 234 of file InlineCost.h.
◆ DefaultThreshold
int llvm::InlineParams::DefaultThreshold = -1
◆ EnableDeferral
std::optional<bool> llvm::InlineParams::EnableDeferral
◆ HintThreshold
std::optional llvm::InlineParams::HintThreshold
◆ HotCallSiteThreshold
std::optional llvm::InlineParams::HotCallSiteThreshold
◆ LocallyHotCallSiteThreshold
std::optional llvm::InlineParams::LocallyHotCallSiteThreshold
◆ OptMinSizeThreshold
std::optional llvm::InlineParams::OptMinSizeThreshold
◆ OptSizeThreshold
std::optional llvm::InlineParams::OptSizeThreshold
The documentation for this struct was generated from the following file:
- include/llvm/Analysis/InlineCost.h