class DefaultInlineAdvice

Declaration

class DefaultInlineAdvice : public InlineAdvice { /* full declaration omitted */ };

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.

Declared at: llvm/include/llvm/Analysis/InlineAdvisor.h:143

Inherits from: InlineAdvice

Member Variables

private llvm::CallBase* const OriginalCB
private Optional<llvm::InlineCost> OIC
private bool EmitRemarks

Inherited from InlineAdvice:

protected Advisor
protected Caller
protected Callee
protected DLoc
protected Block
protected ORE
protected IsInliningRecommended

Method Overview

Inherited from InlineAdvice:

Methods

DefaultInlineAdvice(
    llvm::InlineAdvisor* Advisor,
    llvm::CallBase& CB,
    Optional<llvm::InlineCost> OIC,
    llvm::OptimizationRemarkEmitter& ORE,
    bool EmitRemarks = true)

Declared at: llvm/include/llvm/Analysis/InlineAdvisor.h:145

Parameters

llvm::InlineAdvisor* Advisor
llvm::CallBase& CB
Optional<llvm::InlineCost> OIC
llvm::OptimizationRemarkEmitter& ORE
bool EmitRemarks = true

void recordInliningImpl()

Declared at: llvm/include/llvm/Analysis/InlineAdvisor.h:154

void recordInliningWithCalleeDeletedImpl()

Declared at: llvm/include/llvm/Analysis/InlineAdvisor.h:153

void recordUnsuccessfulInliningImpl(
    const llvm::InlineResult& Result)

Declared at: llvm/include/llvm/Analysis/InlineAdvisor.h:152

Parameters

const llvm::InlineResult& Result