|
LLVM 24.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::detail::PassInfoMixin< ModuleInlinerWrapperPass > | |
| void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Additional Inherited Members | |
| Static Public Member Functions inherited from llvm::OptionalPassInfoMixin< ModuleInlinerWrapperPass > | |
| static bool | isRequired () |
| Static Public Member Functions inherited from llvm::detail::InfoMixin< 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 595 of file Inliner.cpp.
References llvm::dbgs(), and EnablePostSCCAdvisorPrinting.
Referenced by ModuleInlinerWrapperPass().
|
default |
References LLVM_ABI, and ModuleInlinerWrapperPass().
Add a module pass that runs after the CGSCC passes.
Definition at line 86 of file Inliner.h.
References T.
Referenced by llvm::PassBuilder::buildInlinerPipeline().
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 |
Allow adding more CGSCC passes, besides inlining.
This should be called before run is called, as part of pass pipeline building.
Definition at line 78 of file Inliner.h.
Referenced by llvm::PassBuilder::buildInlinerPipeline().
| void ModuleInlinerWrapperPass::printPipeline | ( | raw_ostream & | OS, |
| function_ref< StringRef(StringRef)> | MapClassName2PassName ) |
Definition at line 664 of file Inliner.cpp.
| PreservedAnalyses ModuleInlinerWrapperPass::run | ( | Module & | M, |
| ModuleAnalysisManager & | MAM ) |
Definition at line 617 of file Inliner.cpp.
References MAM.