44 InlineParams IP = getInlineParams(200);
45 ModuleInlinerWrapperPass MIWP(IP);
49 MIWP.addModulePass(RequireAnalysisPass<GlobalsAA, Module>());
53 createModuleToFunctionPassAdaptor(InvalidateAnalysisPass<AAManager>()));
57 MIWP.addModulePass(RequireAnalysisPass<ProfileSummaryAnalysis, Module>());
63 CGSCCPassManager &MainCGPipeline = MIWP.getPM();
66 MainCGPipeline.addPass(PostOrderFunctionAttrsPass());
73 llvm::OptimizationLevel Level) {
74 FunctionPassManager FPM;
76 bool UseMemSSA =
true;
77 FPM.addPass(PromotePass());
78 FPM.addPass(EarlyCSEPass(UseMemSSA));
79 FPM.addPass(InstCombinePass());
80 FPM.addPass(SimplifyCFGPass());
81 FPM.addPass(TailCallElimPass());
82 FPM.addPass(SimplifyCFGPass());
83 FPM.addPass(ReassociatePass());
86 LPM.addPass(LoopRotatePass(Level != OptimizationLevel::Oz));
87 FPM.addPass(createFunctionToLoopPassAdaptor<LoopPassManager>(
88 std::move(LPM),
false));
91 MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
93 FPM = FunctionPassManager();
95 FPM.addPass(PromotePass());
96 FPM.addPass(SimplifyCFGPass());
97 FPM.addPass(InstCombinePass());
99 FPM.addPass(InstCombinePass());
102 LPM.addPass(IndVarSimplifyPass());
103 FPM.addPass(createFunctionToLoopPassAdaptor<LoopPassManager>(
104 std::move(LPM),
false));
static cl::opt< bool > PollyInliner("polly-run-inliner", cl::desc("Run an early inliner pass before Polly"), cl::Hidden, cl::cat(PollyCategory))