LLVM 22.0.0git
llvm::ModuleInlinerPass Class Reference

The module inliner pass for the new pass manager. More...

#include "llvm/Transforms/IPO/ModuleInliner.h"

Inheritance diagram for llvm::ModuleInlinerPass:
[legend]

Public Member Functions

 ModuleInlinerPass (InlineParams Params=getInlineParams(), InliningAdvisorMode Mode=InliningAdvisorMode::Default, ThinOrFullLTOPhase LTOPhase=ThinOrFullLTOPhase::None)
 ModuleInlinerPass (ModuleInlinerPass &&Arg)=default
LLVM_ABI PreservedAnalyses run (Module &, ModuleAnalysisManager &)
Public Member Functions inherited from llvm::PassInfoMixin< ModuleInlinerPass >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)

Additional Inherited Members

Static Public Member Functions inherited from llvm::PassInfoMixin< ModuleInlinerPass >
static StringRef name ()
 Gets the name of the pass we are mixed into.

Detailed Description

The module inliner pass for the new pass manager.

This pass wires together the inlining utilities and the inline cost analysis into a module pass. Different from SCC inliner, it considers every call in every function in the whole module and tries to inline if profitable. With this module level inliner, it is possible to evaluate more heuristics in the module level such like PriorityInlineOrder. It can be tuned with a number of parameters to control what cost model is used and what tradeoffs are made when making the decision.

Definition at line 28 of file ModuleInliner.h.

Constructor & Destructor Documentation

◆ ModuleInlinerPass() [1/2]

llvm::ModuleInlinerPass::ModuleInlinerPass ( InlineParams Params = getInlineParams(),
InliningAdvisorMode Mode = InliningAdvisorMode::Default,
ThinOrFullLTOPhase LTOPhase = ThinOrFullLTOPhase::None )
inline

Definition at line 30 of file ModuleInliner.h.

References llvm::Default, and llvm::None.

Referenced by ModuleInlinerPass().

◆ ModuleInlinerPass() [2/2]

llvm::ModuleInlinerPass::ModuleInlinerPass ( ModuleInlinerPass && Arg)
default

References FAM, LLVM_ABI, MAM, and ModuleInlinerPass().

Member Function Documentation

◆ run()


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