LLVM API Documentation
Represents the cost of inlining a function. More...
#include <InlineCost.h>
Public Member Functions | |
| LLVM_EXPLICIT | operator bool () const |
| Test whether the inline cost is low enough for inlining. | |
| bool | isAlways () const |
| bool | isNever () const |
| bool | isVariable () const |
| int | getCost () const |
| Get the inline cost estimate. It is an error to call this on an "always" or "never" InlineCost. | |
| int | getCostDelta () const |
| Get the cost delta from the threshold for inlining. Only valid if the cost is of the variable kind. Returns a negative value if the cost is too high to inline. | |
Static Public Member Functions | |
| static InlineCost | get (int Cost, int Threshold) |
| static InlineCost | getAlways () |
| static InlineCost | getNever () |
Represents the cost of inlining a function.
This supports special values for functions which should "always" or "never" be inlined. Otherwise, the cost represents a unitless amount; smaller values increase the likelihood of the function being inlined.
Objects of this type also provide the adjusted threshold for inlining based on the information available for a particular callsite. They can be directly tested to determine if inlining should occur given the cost and threshold for this cost metric.
Definition at line 51 of file InlineCost.h.
| static InlineCost llvm::InlineCost::get | ( | int | Cost, |
| int | Threshold | ||
| ) | [inline, static] |
Definition at line 67 of file InlineCost.h.
Referenced by llvm::InlineCostAnalysis::getInlineCost().
| static InlineCost llvm::InlineCost::getAlways | ( | ) | [inline, static] |
Definition at line 72 of file InlineCost.h.
Referenced by llvm::InlineCostAnalysis::getInlineCost().
| int llvm::InlineCost::getCost | ( | ) | const [inline] |
Get the inline cost estimate. It is an error to call this on an "always" or "never" InlineCost.
Definition at line 90 of file InlineCost.h.
References isVariable().
Referenced by getCostDelta().
| int llvm::InlineCost::getCostDelta | ( | ) | const [inline] |
Get the cost delta from the threshold for inlining. Only valid if the cost is of the variable kind. Returns a negative value if the cost is too high to inline.
Definition at line 98 of file InlineCost.h.
References getCost().
| static InlineCost llvm::InlineCost::getNever | ( | ) | [inline, static] |
Definition at line 75 of file InlineCost.h.
Referenced by llvm::InlineCostAnalysis::getInlineCost().
| bool llvm::InlineCost::isAlways | ( | ) | const [inline] |
Definition at line 84 of file InlineCost.h.
Referenced by isVariable().
| bool llvm::InlineCost::isNever | ( | ) | const [inline] |
Definition at line 85 of file InlineCost.h.
Referenced by isVariable().
| bool llvm::InlineCost::isVariable | ( | ) | const [inline] |
Definition at line 86 of file InlineCost.h.
References isAlways(), and isNever().
Referenced by getCost().
| LLVM_EXPLICIT llvm::InlineCost::operator bool | ( | ) | const [inline] |
Test whether the inline cost is low enough for inlining.
Definition at line 80 of file InlineCost.h.