class ReplayInlineAdvisor

Declaration

class ReplayInlineAdvisor : public InlineAdvisor { /* full declaration omitted */ };

Description

Replay inline advisor that uses optimization remarks from inlining of previous build to guide current inlining. This is useful for inliner tuning.

Declared at: llvm/include/llvm/Analysis/ReplayInlineAdvisor.h:65

Inherits from: InlineAdvisor

Member Variables

private std::unique_ptr<InlineAdvisor> OriginalAdvisor
private bool HasReplayRemarks = false
private const llvm::ReplayInlinerSettings ReplaySettings
private bool EmitRemarks = false
private StringMap<bool> InlineSitesFromRemarks
private StringSet<> CallersToReplay

Inherited from InlineAdvisor:

protected M
protected FAM
protected IC
protected AnnotatedInlinePassName
protected ImportedFunctionsStats

Method Overview

  • public ReplayInlineAdvisor(llvm::Module & M, llvm::FunctionAnalysisManager & FAM, llvm::LLVMContext & Context, std::unique_ptr<InlineAdvisor> OriginalAdvisor, const llvm::ReplayInlinerSettings & ReplaySettings, bool EmitRemarks, llvm::InlineContext IC)
  • public bool areReplayRemarksLoaded() const
  • public std::unique_ptr<InlineAdvice> getAdviceImpl(llvm::CallBase & CB)
  • private bool hasInlineAdvice(llvm::Function & F) const

Inherited from InlineAdvisor:

Methods

ReplayInlineAdvisor(
    llvm::Module& M,
    llvm::FunctionAnalysisManager& FAM,
    llvm::LLVMContext& Context,
    std::unique_ptr<InlineAdvisor>
        OriginalAdvisor,
    const llvm::ReplayInlinerSettings&
        ReplaySettings,
    bool EmitRemarks,
    llvm::InlineContext IC)

Declared at: llvm/include/llvm/Analysis/ReplayInlineAdvisor.h:67

Parameters

llvm::Module& M
llvm::FunctionAnalysisManager& FAM
llvm::LLVMContext& Context
std::unique_ptr<InlineAdvisor> OriginalAdvisor
const llvm::ReplayInlinerSettings& ReplaySettings
bool EmitRemarks
llvm::InlineContext IC

bool areReplayRemarksLoaded() const

Declared at: llvm/include/llvm/Analysis/ReplayInlineAdvisor.h:73

std::unique_ptr<InlineAdvice> getAdviceImpl(
    llvm::CallBase& CB)

Declared at: llvm/include/llvm/Analysis/ReplayInlineAdvisor.h:72

Parameters

llvm::CallBase& CB

bool hasInlineAdvice(llvm::Function& F) const

Declared at: llvm/include/llvm/Analysis/ReplayInlineAdvisor.h:76

Parameters

llvm::Function& F