LLVM  14.0.0git
Public Member Functions | List of all members
llvm::DefaultInlineAdvisor Class Reference

The default (manual heuristics) implementation of the InlineAdvisor. More...

#include "llvm/Analysis/InlineAdvisor.h"

Inheritance diagram for llvm::DefaultInlineAdvisor:
Inheritance graph
[legend]
Collaboration diagram for llvm::DefaultInlineAdvisor:
Collaboration graph
[legend]

Public Member Functions

 DefaultInlineAdvisor (Module &M, FunctionAnalysisManager &FAM, InlineParams Params)
 
- Public Member Functions inherited from llvm::InlineAdvisor
 InlineAdvisor (InlineAdvisor &&)=delete
 
virtual ~InlineAdvisor ()
 
std::unique_ptr< InlineAdvicegetAdvice (CallBase &CB, bool MandatoryOnly=false)
 Get an InlineAdvice containing a recommendation on whether to inline or not. More...
 
virtual void onPassEntry ()
 This must be called when the Inliner pass is entered, to allow the InlineAdvisor update internal state, as result of function passes run between Inliner pass runs (for the same module). More...
 
virtual void onModuleInvalidated ()
 Called when the module is invalidated. More...
 

Additional Inherited Members

- Protected Types inherited from llvm::InlineAdvisor
enum  MandatoryInliningKind { MandatoryInliningKind::NotMandatory, MandatoryInliningKind::Always, MandatoryInliningKind::Never }
 
- Protected Member Functions inherited from llvm::InlineAdvisor
 InlineAdvisor (Module &M, FunctionAnalysisManager &FAM)
 
virtual std::unique_ptr< InlineAdvicegetMandatoryAdvice (CallBase &CB, bool Advice)
 
void freeDeletedFunctions ()
 We may want to defer deleting functions to after the inlining for a whole module has finished. More...
 
bool isFunctionDeleted (const Function *F) const
 
OptimizationRemarkEmittergetCallerORE (CallBase &CB)
 
- Static Protected Member Functions inherited from llvm::InlineAdvisor
static MandatoryInliningKind getMandatoryKind (CallBase &CB, FunctionAnalysisManager &FAM, OptimizationRemarkEmitter &ORE)
 
- Protected Attributes inherited from llvm::InlineAdvisor
ModuleM
 
FunctionAnalysisManagerFAM
 
std::unique_ptr< ImportedFunctionsInliningStatisticsImportedFunctionsStats
 

Detailed Description

The default (manual heuristics) implementation of the InlineAdvisor.

This implementation does not need to keep state between inliner pass runs, and is reusable as-is for inliner pass test scenarios, as well as for regular use.

Definition at line 211 of file InlineAdvisor.h.

Constructor & Destructor Documentation

◆ DefaultInlineAdvisor()

llvm::DefaultInlineAdvisor::DefaultInlineAdvisor ( Module M,
FunctionAnalysisManager FAM,
InlineParams  Params 
)
inline

Definition at line 213 of file InlineAdvisor.h.


The documentation for this class was generated from the following files: