LLVM 22.0.0git
|
Module pass, wrapping the inliner pass. More...
#include "llvm/Transforms/IPO/Inliner.h"
Public Member Functions | |
LLVM_ABI | ModuleInlinerWrapperPass (InlineParams Params=getInlineParams(), bool MandatoryFirst=true, InlineContext IC={}, InliningAdvisorMode Mode=InliningAdvisorMode::Default, unsigned MaxDevirtIterations=0) |
ModuleInlinerWrapperPass (ModuleInlinerWrapperPass &&Arg)=default | |
LLVM_ABI PreservedAnalyses | run (Module &, ModuleAnalysisManager &) |
CGSCCPassManager & | getPM () |
Allow adding more CGSCC passes, besides inlining. | |
template<class T> | |
void | addModulePass (T Pass) |
Add a module pass that runs before the CGSCC passes. | |
template<class T> | |
void | addLateModulePass (T Pass) |
Add a module pass that runs after the CGSCC passes. | |
LLVM_ABI void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Public Member Functions inherited from llvm::PassInfoMixin< ModuleInlinerWrapperPass > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< ModuleInlinerWrapperPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. |
Module pass, wrapping the inliner pass.
This works in conjunction with the InlineAdvisorAnalysis to facilitate inlining decisions taking into account module-wide state, that need to keep track of inter-inliner pass runs, for a given module. An InlineAdvisor is configured and kept alive for the duration of the ModuleInlinerWrapperPass::run.
ModuleInlinerWrapperPass::ModuleInlinerWrapperPass | ( | InlineParams | Params = getInlineParams(), |
bool | MandatoryFirst = true, | ||
InlineContext | IC = {}, | ||
InliningAdvisorMode | Mode = InliningAdvisorMode::Default, | ||
unsigned | MaxDevirtIterations = 0 ) |
Definition at line 583 of file Inliner.cpp.
References llvm::dbgs(), and EnablePostSCCAdvisorPrinting.
Referenced by ModuleInlinerWrapperPass().
|
default |
References LLVM_ABI, and ModuleInlinerWrapperPass().
Add a module pass that runs before the CGSCC passes.
Definition at line 81 of file Inliner.h.
References T.
Referenced by llvm::PassBuilder::buildInlinerPipeline().
|
inline |
void ModuleInlinerWrapperPass::printPipeline | ( | raw_ostream & | OS, |
function_ref< StringRef(StringRef)> | MapClassName2PassName ) |
Definition at line 652 of file Inliner.cpp.
PreservedAnalyses ModuleInlinerWrapperPass::run | ( | Module & | M, |
ModuleAnalysisManager & | MAM ) |
Definition at line 605 of file Inliner.cpp.
References MAM.