Lines Matching defs:Level

332                                             OptimizationLevel Level) {
334 C(FPM, Level);
337 LoopPassManager &LPM, OptimizationLevel Level) {
339 C(LPM, Level);
342 OptimizationLevel Level) {
344 C(LPM, Level);
347 FunctionPassManager &FPM, OptimizationLevel Level) {
349 C(FPM, Level);
352 OptimizationLevel Level) {
354 C(CGPM, Level);
357 OptimizationLevel Level) {
359 C(FPM, Level);
362 OptimizationLevel Level) {
364 C(MPM, Level);
367 OptimizationLevel Level) {
369 C(MPM, Level);
372 ModulePassManager &MPM, OptimizationLevel Level) {
374 C(MPM, Level);
377 ModulePassManager &MPM, OptimizationLevel Level) {
379 C(MPM, Level);
382 OptimizationLevel Level) {
384 C(MPM, Level);
387 ModulePassManager &MPM, OptimizationLevel Level) {
389 C(MPM, Level);
405 PassBuilder::buildO1FunctionSimplificationPipeline(OptimizationLevel Level,
427 invokePeepholeEPCallbacks(FPM, Level);
475 invokeLateLoopOptimizationsEPCallbacks(LPM2, Level);
489 LPM2.addPass(LoopFullUnrollPass(Level.getSpeedupLevel(),
493 invokeLoopOptimizerEndEPCallbacks(LPM2, Level);
526 invokePeepholeEPCallbacks(FPM, Level);
530 invokeScalarOptimizerLateEPCallbacks(FPM, Level);
539 invokePeepholeEPCallbacks(FPM, Level);
545 PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level,
547 assert(Level != OptimizationLevel::O0 && "Must request optimizations!");
551 if (Level.getSpeedupLevel() == 1)
552 return buildO1FunctionSimplificationPipeline(Level, Phase);
595 if (!Level.isOptimizingForSize())
598 invokePeepholeEPCallbacks(FPM, Level);
603 !Level.isOptimizingForSize())
646 Level != OptimizationLevel::Oz,
652 SimpleLoopUnswitchPass(/* NonTrivial */ Level == OptimizationLevel::O3));
661 ExtraPasses.addPass(SimpleLoopUnswitchPass(/* NonTrivial */ Level ==
666 invokeLateLoopOptimizationsEPCallbacks(LPM2, Level);
680 LPM2.addPass(LoopFullUnrollPass(Level.getSpeedupLevel(),
684 invokeLoopOptimizerEndEPCallbacks(LPM2, Level);
726 invokePeepholeEPCallbacks(FPM, Level);
754 invokeScalarOptimizerLateEPCallbacks(FPM, Level);
761 invokePeepholeEPCallbacks(FPM, Level);
772 OptimizationLevel Level,
774 assert(Level != OptimizationLevel::O0 && "Not expecting O0 here!");
785 IP.HintThreshold = Level.isOptimizingForSize() ? PreInlineThreshold : 325;
797 invokePeepholeEPCallbacks(FPM, Level);
811 OptimizationLevel Level) {
817 Level != OptimizationLevel::Oz),
825 OptimizationLevel Level, bool RunProfileGen,
830 assert(Level != OptimizationLevel::O0 && "Not expecting O0 here!");
845 addPostPGOLoopRotation(MPM, Level);
850 // Do counter promotion at Level greater than O0.
890 static InlineParams getInlineParamsFromOptLevel(OptimizationLevel Level) {
891 return getInlineParams(Level.getSpeedupLevel(), Level.getSizeLevel());
895 PassBuilder::buildInlinerPipeline(OptimizationLevel Level,
899 IP = getInlineParamsFromOptLevel(Level);
955 if (Level == OptimizationLevel::O3)
960 if (Level == OptimizationLevel::O2 || Level == OptimizationLevel::O3)
963 invokeCGSCCOptimizerLateEPCallbacks(MainCGPipeline, Level);
968 buildFunctionSimplificationPipeline(Level, Phase),
981 MainCGPipeline.addPass(CoroSplitPass(Level != OptimizationLevel::O0));
991 PassBuilder::buildModuleInlinerPipeline(OptimizationLevel Level,
995 InlineParams IP = getInlineParamsFromOptLevel(Level);
1020 buildFunctionSimplificationPipeline(Level, Phase),
1024 CoroSplitPass(Level != OptimizationLevel::O0)));
1030 PassBuilder::buildModuleSimplificationPipeline(OptimizationLevel Level,
1032 assert(Level != OptimizationLevel::O0 &&
1090 if (Level == OptimizationLevel::O3)
1128 invokePipelineEarlySimplificationEPCallbacks(MPM, Level);
1136 Level != OptimizationLevel::Os &&
1137 Level != OptimizationLevel::Oz &&
1153 invokePeepholeEPCallbacks(GlobalCleanupPM, Level);
1178 addPreInlinerPasses(MPM, Level, Phase);
1182 addPGOInstrPasses(MPM, Level,
1189 addPostPGOLoopRotation(MPM, Level);
1213 MPM.addPass(buildModuleInlinerPipeline(Level, Phase));
1215 MPM.addPass(buildInlinerPipeline(Level, Phase));
1231 void PassBuilder::addVectorPasses(OptimizationLevel Level,
1249 LoopUnrollAndJamPass(Level.getSpeedupLevel())));
1251 Level.getSpeedupLevel(), /*OnlyWhenForced=*/!PTO.LoopUnrolling,
1271 if (Level.getSpeedupLevel() > 1 && ExtraVectorizerPasses) {
1285 LPM.addPass(SimpleLoopUnswitchPass(/* NonTrivial */ Level ==
1322 if (Level.getSpeedupLevel() > 1 && ExtraVectorizerPasses) {
1340 LoopUnrollAndJamPass(Level.getSpeedupLevel())));
1343 Level.getSpeedupLevel(), /*OnlyWhenForced=*/!PTO.LoopUnrolling,
1376 PassBuilder::buildModuleOptimizationPipeline(OptimizationLevel Level,
1412 addPGOInstrPasses(MPM, Level, /*RunProfileGen=*/true,
1417 addPGOInstrPasses(MPM, Level, /*RunProfileGen=*/false,
1433 invokeOptimizerEarlyEPCallbacks(MPM, Level);
1461 if (EnableCHR && Level == OptimizationLevel::O3)
1471 invokeVectorizerStartEPCallbacks(OptimizePM, Level);
1477 Level != OptimizationLevel::Oz,
1497 addVectorPasses(Level, OptimizePM, /* IsFullLTO */ false);
1526 invokeOptimizerLastEPCallbacks(MPM, Level);
1567 PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level,
1569 if (Level == OptimizationLevel::O0)
1570 return buildO0DefaultPipeline(Level, LTOPreLink);
1584 invokePipelineStartEPCallbacks(MPM, Level);
1590 MPM.addPass(buildModuleSimplificationPipeline(Level, LTOPhase));
1593 MPM.addPass(buildModuleOptimizationPipeline(Level, LTOPhase));
1608 PassBuilder::buildFatLTODefaultPipeline(OptimizationLevel Level, bool ThinLTO,
1612 MPM.addPass(buildThinLTOPreLinkDefaultPipeline(Level));
1614 MPM.addPass(buildLTOPreLinkDefaultPipeline(Level));
1619 MPM.addPass(buildThinLTODefaultPipeline(Level, /*ImportSummary=*/nullptr));
1623 buildModuleOptimizationPipeline(Level, ThinOrFullLTOPhase::None));
1631 PassBuilder::buildThinLTOPreLinkDefaultPipeline(OptimizationLevel Level) {
1632 if (Level == OptimizationLevel::O0)
1633 return buildO0DefaultPipeline(Level, /*LTOPreLink*/true);
1647 invokePipelineStartEPCallbacks(MPM, Level);
1653 Level, ThinOrFullLTOPhase::ThinLTOPreLink));
1672 invokeOptimizerEarlyEPCallbacks(MPM, Level);
1673 invokeOptimizerLastEPCallbacks(MPM, Level);
1684 OptimizationLevel Level, const ModuleSummaryIndex *ImportSummary) {
1712 if (Level == OptimizationLevel::O0) {
1726 Level, ThinOrFullLTOPhase::ThinLTOPostLink));
1730 Level, ThinOrFullLTOPhase::ThinLTOPostLink));
1739 PassBuilder::buildLTOPreLinkDefaultPipeline(OptimizationLevel Level) {
1741 return buildPerModuleDefaultPipeline(Level,
1746 PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
1750 invokeFullLinkTimeOptimizationEarlyEPCallbacks(MPM, Level);
1756 if (Level == OptimizationLevel::O0) {
1765 invokeFullLinkTimeOptimizationLastEPCallbacks(MPM, Level);
1794 if (Level.getSpeedupLevel() > 1) {
1809 Level != OptimizationLevel::Os &&
1810 Level != OptimizationLevel::Oz)));
1834 if (Level == OptimizationLevel::O1) {
1843 invokeFullLinkTimeOptimizationLastEPCallbacks(MPM, Level);
1870 if (Level.getSpeedupLevel() > 1)
1872 invokePeepholeEPCallbacks(PeepholeFPM, Level);
1883 MPM.addPass(ModuleInlinerPass(getInlineParamsFromOptLevel(Level),
1888 getInlineParamsFromOptLevel(Level),
1916 invokePeepholeEPCallbacks(FPM, Level);
1927 addPGOInstrPasses(MPM, Level, /*RunProfileGen=*/true,
1932 addPGOInstrPasses(MPM, Level, /*RunProfileGen=*/false,
1982 if (EnableLoopFlatten && Level.getSpeedupLevel() > 1)
1989 LPM.addPass(LoopFullUnrollPass(Level.getSpeedupLevel(),
1999 addVectorPasses(Level, MainFPM, /* IsFullLTO */ true);
2005 invokePeepholeEPCallbacks(MainFPM, Level);
2056 invokeFullLinkTimeOptimizationLastEPCallbacks(MPM, Level);
2064 ModulePassManager PassBuilder::buildO0DefaultPipeline(OptimizationLevel Level,
2066 assert(Level == OptimizationLevel::O0 &&
2090 invokePipelineStartEPCallbacks(MPM, Level);
2095 invokePipelineEarlySimplificationEPCallbacks(MPM, Level);
2113 invokeCGSCCOptimizerLateEPCallbacks(CGPM, Level);
2119 invokeLateLoopOptimizationsEPCallbacks(LPM, Level);
2127 invokeLoopOptimizerEndEPCallbacks(LPM, Level);
2135 invokeScalarOptimizerLateEPCallbacks(FPM, Level);
2140 invokeOptimizerEarlyEPCallbacks(MPM, Level);
2144 invokeVectorizerStartEPCallbacks(FPM, Level);
2158 invokeOptimizerLastEPCallbacks(MPM, Level);