|
LLVM 22.0.0git
|
Thresholds to tune inline cost analysis. More...
#include "llvm/Analysis/InlineCost.h"
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 object.
Definition at line 207 of file InlineCost.h.
| std::optional<bool> llvm::InlineParams::AllowRecursiveCall = false |
Indicate whether we allow inlining for recursive call.
Definition at line 240 of file InlineCost.h.
| std::optional<int> llvm::InlineParams::ColdCallSiteThreshold |
Threshold to use when the callsite is considered cold.
Definition at line 231 of file InlineCost.h.
Referenced by llvm::getInlineParams().
| std::optional<int> llvm::InlineParams::ColdThreshold |
Threshold to use for cold callees.
Definition at line 215 of file InlineCost.h.
Referenced by llvm::getInlineParams().
| 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.
| int llvm::InlineParams::DefaultThreshold = -1 |
The default threshold to start with for a callee.
Definition at line 209 of file InlineCost.h.
Referenced by llvm::getInlineParams().
| std::optional<bool> llvm::InlineParams::EnableDeferral |
Indicate whether we should allow inline deferral.
Definition at line 237 of file InlineCost.h.
Referenced by llvm::PassBuilder::buildInlinerPipeline(), llvm::PassBuilder::buildModuleInlinerPipeline(), and getDefaultInlineAdvice().
| std::optional<int> llvm::InlineParams::HintThreshold |
Threshold to use for callees with inline hint.
Definition at line 212 of file InlineCost.h.
Referenced by llvm::getInlineParams().
| std::optional<int> llvm::InlineParams::HotCallSiteThreshold |
Threshold to use when the callsite is considered hot.
Definition at line 224 of file InlineCost.h.
Referenced by llvm::PassBuilder::buildInlinerPipeline(), llvm::PassBuilder::buildModuleInlinerPipeline(), and llvm::getInlineParams().
| std::optional<int> llvm::InlineParams::LocallyHotCallSiteThreshold |
Threshold to use when the callsite is considered hot relative to function entry.
Definition at line 228 of file InlineCost.h.
Referenced by llvm::getInlineParams(), and llvm::getInlineParams().
| std::optional<int> llvm::InlineParams::OptMinSizeThreshold |
Threshold to use when the caller is optimized for minsize.
Definition at line 221 of file InlineCost.h.
Referenced by llvm::getInlineParams().
| std::optional<int> llvm::InlineParams::OptSizeThreshold |
Threshold to use when the caller is optimized for size.
Definition at line 218 of file InlineCost.h.
Referenced by llvm::getInlineParams().