Go to the documentation of this file.
9 #ifndef LLVM_TRANSFORMS_IPO_MODULEINLINER_H
10 #define LLVM_TRANSFORMS_IPO_MODULEINLINER_H
32 : Params(Params), Mode(Mode), LTOPhase(LTOPhase){};
40 std::unique_ptr<InlineAdvisor> OwnedAdvisor;
47 #endif // LLVM_TRANSFORMS_IPO_MODULEINLINER_H
A set of analyses that are preserved following a run of a transformation pass.
This is an optimization pass for GlobalISel generic memory operations.
A CRTP mix-in to automatically provide informational APIs needed for passes.
FunctionAnalysisManager FAM
Thresholds to tune inline cost analysis.
amdgpu Simplify well known AMD library false FunctionCallee Value * Arg
ThinOrFullLTOPhase
This enumerates the LLVM full LTO or ThinLTO optimization phases.
ModuleAnalysisManager MAM
InlineParams getInlineParams()
Generate the parameters to tune the inline cost analysis based only on the commandline options.
The module inliner pass for the new pass manager.
PreservedAnalyses run(Module &, ModuleAnalysisManager &)
InliningAdvisorMode
There are 3 scenarios we can use the InlineAdvisor:
A Module instance is used to store all the information related to an LLVM module.
Interface for deciding whether to inline a call site or not.
ModuleInlinerPass(InlineParams Params=getInlineParams(), InliningAdvisorMode Mode=InliningAdvisorMode::Default, ThinOrFullLTOPhase LTOPhase=ThinOrFullLTOPhase::None)
@ None
No LTO/ThinLTO behavior needed.
A container for analyses that lazily runs them and caches their results.