15 #ifndef LLVM_TRANSFORMS_IPO_PASSMANAGERBUILDER_H
16 #define LLVM_TRANSFORMS_IPO_PASSMANAGERBUILDER_H
21 class TargetLibraryInfo;
26 class PassManagerBase;
27 class FunctionPassManager;
29 using legacy::PassManagerBase;
30 using legacy::FunctionPassManager;
119 std::vector<std::pair<ExtensionPointTy, ExtensionFn> > Extensions;
132 void addInitialAliasAnalysisPasses(PassManagerBase &PM)
const;
143 bool RunInliner,
bool DisableGVNLoadPRE =
false);
void populateFunctionPassManager(FunctionPassManager &FPM)
static void addGlobalExtension(ExtensionPointTy Ty, ExtensionFn Fn)
TargetLibraryInfo * LibraryInfo
void populateLTOPassManager(PassManagerBase &PM, bool Internalize, bool RunInliner, bool DisableGVNLoadPRE=false)
void(* ExtensionFn)(const PassManagerBuilder &Builder, PassManagerBase &PM)
RegisterStandardPasses(PassManagerBuilder::ExtensionPointTy Ty, PassManagerBuilder::ExtensionFn Fn)
void addExtension(ExtensionPointTy Ty, ExtensionFn Fn)
void populateModulePassManager(PassManagerBase &MPM)
populateModulePassManager - This sets up the primary pass manager.