Captures state between an inlining decision and observing its impact.
Synopsis
Declared in <llvm/Analysis/InlineAdvisor.h>
class InlineAdvice;
Description
Capture state between an inlining decision having had been made, and its impact being observable. When collecting model training data, this allows recording features/decisions/partial reward data sets.
Derivations of this type are expected to be tightly coupled with their InliningAdvisors. The base type implements the minimal contractual obligations.
Member Functions
Name |
Description |
|
Constructors |
|
Destroy advice after the inliner has recorded its decision. |
Return the original call site basic block. |
|
Return the original call site debug location. |
|
Get the inlining recommendation. |
|
Exactly one of the record* APIs must be called. Implementers may extend behavior by implementing the corresponding record*Impl. |
|
Call after inlining succeeded, and results in the callee being delete‐able, meaning, it has no more users, and will be cleaned up subsequently. |
|
Call to indicate inlining was not attempted. |
|
Call after the decision for a call site was to not inline. |
Protected Member Functions
Name |
Description |
|
Hook invoked when successful inlining did not delete the callee. |
|
Hook invoked when successful inlining left the callee delete‐able. |
|
Hook invoked when inlining was not attempted. |
|
Hook invoked when inlining was decided against. |
Protected Data Members
Name |
Description |
Owning advisor that produced this advice. |
|
Basic block containing the original call site. |
|
Callee function before inlining. |
|
Caller function before inlining. |
|
Debug location of the original call site. |
|
Whether this advice recommends inlining. |
|
Remark emitter for reporting inlining outcomes. |
Derived Classes
Name |
Description |
Default InlineAdvice that records outcomes using an optional InlineCost. |
|
InlineAdvice that tracks changes post inlining. For that reason, it only overrides the "successful inlining" extension points. |
Created with MrDocs