15 #ifndef LLVM_TRANSFORMS_IPO_PASSMANAGERBUILDER_H 16 #define LLVM_TRANSFORMS_IPO_PASSMANAGERBUILDER_H 24 class ModuleSummaryIndex;
26 class TargetLibraryInfoImpl;
32 class PassManagerBase;
172 std::vector<std::pair<ExtensionPointTy, ExtensionFn>>
Extensions;
Pass interface - Implemented by all 'passes'.
Registers a function for adding a standard set of passes.
PassManagerBuilder - This class is used to set up a standard optimization sequence for languages like...
bool EnablePGOInstrGen
Enable profile instrumentation pass.
This class represents lattice values for constants.
EP_ScalarOptimizerLate - This extension point allows adding optimization passes after most of the mai...
Implementation of the target library information.
std::string PGOSampleUse
Path of the sample Profile data file.
Pass * Inliner
Inliner - Specifies the inliner to use.
static void addGlobalExtension(ExtensionPointTy Ty, ExtensionFn Fn)
Adds an extension that will be used by all PassManagerBuilder instances.
EP_ModuleOptimizerEarly - This extension point allows adding passes just before the main module-level...
EP_EnabledOnOptLevel0 - This extension point allows adding passes that should not be disabled by O0 o...
std::function< void(const PassManagerBuilder &Builder, legacy::PassManagerBase &PM)> ExtensionFn
Extensions are passed the builder itself (so they can see how it is configured) as well as the pass m...
unsigned OptLevel
The Optimization Level - Specify the basic optimization level.
Class to hold module path string table and global value map, and encapsulate methods for operating on...
std::string PGOInstrUse
Path of the profile data file.
TargetLibraryInfoImpl * LibraryInfo
LibraryInfo - Specifies information about the runtime library for the optimizer.
static const struct @395 Extensions[]
FunctionPassManager manages FunctionPasses and BasicBlockPassManagers.
EP_OptimizerLast – This extension point allows adding passes that run after everything else...
EP_EarlyAsPossible - This extension point allows adding passes before any other transformations, allowing them to see the code as it is coming out of the frontend.
EP_CGSCCOptimizerLate - This extension point allows adding CallGraphSCC passes at the end of the main...
EP_VectorizerStart - This extension point allows adding optimization passes before the vectorizer and...
print lazy value Lazy Value Info Printer Pass
PassManagerBase - An abstract interface to allow code to add passes to a pass manager without having ...
EP_Peephole - This extension point allows adding passes that perform peephole optimizations similar t...
std::string PGOInstrGen
Profile data file name that the instrumentation will be written to.
unsigned SizeLevel
SizeLevel - How much we're optimizing for size.
PassManager< Function > FunctionPassManager
Convenience typedef for a pass manager over functions.
RegisterStandardPasses(PassManagerBuilder::ExtensionPointTy Ty, PassManagerBuilder::ExtensionFn Fn)
print Print MemDeps of function
EP_LateLoopOptimizations - This extension point allows adding late loop canonicalization and simplifi...
EP_LoopOptimizerEnd - This extension point allows adding loop passes to the end of the loop optimizer...