LLVM 19.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
llvm::PluginInlineOrderAnalysis Class Reference

Used for dynamically loading instances of InlineOrder as plugins. More...

#include "llvm/Analysis/InlineOrder.h"

Inheritance diagram for llvm::PluginInlineOrderAnalysis:
Inheritance graph
[legend]

Classes

struct  Result
 

Public Types

typedef std::unique_ptr< InlineOrder< std::pair< CallBase *, int > > >(* InlineOrderFactory) (FunctionAnalysisManager &FAM, const InlineParams &Params, ModuleAnalysisManager &MAM, Module &M)
 

Public Member Functions

 PluginInlineOrderAnalysis (InlineOrderFactory Factory)
 
Result run (Module &, ModuleAnalysisManager &)
 
Result getResult ()
 
- Public Member Functions inherited from llvm::PassInfoMixin< DerivedT >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 

Static Public Member Functions

static bool isRegistered ()
 
static void unregister ()
 
- Static Public Member Functions inherited from llvm::AnalysisInfoMixin< PluginInlineOrderAnalysis >
static AnalysisKeyID ()
 Returns an opaque, unique ID for this analysis type.
 
- Static Public Member Functions inherited from llvm::PassInfoMixin< DerivedT >
static StringRef name ()
 Gets the name of the pass we are mixed into.
 

Static Public Attributes

static AnalysisKey Key
 

Detailed Description

Used for dynamically loading instances of InlineOrder as plugins.

Plugins must implement an InlineOrderFactory, for an example refer to: llvm/unittests/Analysis/InlineOrderPlugin/InlineOrderPlugin.cpp

If a PluginInlineOrderAnalysis has been registered with the current ModuleAnalysisManager, llvm::getInlineOrder returns an InlineOrder created by the PluginInlineOrderAnalysis' Factory.

Definition at line 51 of file InlineOrder.h.

Member Typedef Documentation

◆ InlineOrderFactory

typedef std::unique_ptr< InlineOrder< std::pair< CallBase *, int > > >( * llvm::PluginInlineOrderAnalysis::InlineOrderFactory) (FunctionAnalysisManager &FAM, const InlineParams &Params, ModuleAnalysisManager &MAM, Module &M)

Definition at line 56 of file InlineOrder.h.

Constructor & Destructor Documentation

◆ PluginInlineOrderAnalysis()

llvm::PluginInlineOrderAnalysis::PluginInlineOrderAnalysis ( InlineOrderFactory  Factory)
inline

Definition at line 61 of file InlineOrder.h.

References assert().

Member Function Documentation

◆ getResult()

Result llvm::PluginInlineOrderAnalysis::getResult ( )
inline

Definition at line 72 of file InlineOrder.h.

◆ isRegistered()

static bool llvm::PluginInlineOrderAnalysis::isRegistered ( )
inlinestatic

Definition at line 74 of file InlineOrder.h.

Referenced by llvm::getInlineOrder().

◆ run()

Result llvm::PluginInlineOrderAnalysis::run ( Module ,
ModuleAnalysisManager  
)
inline

Definition at line 71 of file InlineOrder.h.

◆ unregister()

static void llvm::PluginInlineOrderAnalysis::unregister ( )
inlinestatic

Definition at line 75 of file InlineOrder.h.

Member Data Documentation

◆ Key

AnalysisKey llvm::PluginInlineOrderAnalysis::Key
static

Definition at line 54 of file InlineOrder.h.


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