Lines Matching refs:Level
229 OptimizationLevel Level) { in invokePeepholeEPCallbacks() argument
231 C(FPM, Level); in invokePeepholeEPCallbacks()
247 PassBuilder::buildO1FunctionSimplificationPipeline(OptimizationLevel Level, in buildO1FunctionSimplificationPipeline() argument
266 invokePeepholeEPCallbacks(FPM, Level); in buildO1FunctionSimplificationPipeline()
315 C(LPM2, Level); in buildO1FunctionSimplificationPipeline()
329 LPM2.addPass(LoopFullUnrollPass(Level.getSpeedupLevel(), in buildO1FunctionSimplificationPipeline()
334 C(LPM2, Level); in buildO1FunctionSimplificationPipeline()
371 invokePeepholeEPCallbacks(FPM, Level); in buildO1FunctionSimplificationPipeline()
376 C(FPM, Level); in buildO1FunctionSimplificationPipeline()
385 invokePeepholeEPCallbacks(FPM, Level); in buildO1FunctionSimplificationPipeline()
391 PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level, in buildFunctionSimplificationPipeline() argument
393 assert(Level != OptimizationLevel::O0 && "Must request optimizations!"); in buildFunctionSimplificationPipeline()
397 if (Level.getSpeedupLevel() == 1) in buildFunctionSimplificationPipeline()
398 return buildO1FunctionSimplificationPipeline(Level, Phase); in buildFunctionSimplificationPipeline()
435 if (Level == OptimizationLevel::O3) in buildFunctionSimplificationPipeline()
438 if (!Level.isOptimizingForSize()) in buildFunctionSimplificationPipeline()
441 invokePeepholeEPCallbacks(FPM, Level); in buildFunctionSimplificationPipeline()
446 !Level.isOptimizingForSize()) in buildFunctionSimplificationPipeline()
486 LoopRotatePass(Level != OptimizationLevel::Oz, isLTOPreLink(Phase))); in buildFunctionSimplificationPipeline()
491 SimpleLoopUnswitchPass(/* NonTrivial */ Level == OptimizationLevel::O3 && in buildFunctionSimplificationPipeline()
500 C(LPM2, Level); in buildFunctionSimplificationPipeline()
514 LPM2.addPass(LoopFullUnrollPass(Level.getSpeedupLevel(), in buildFunctionSimplificationPipeline()
519 C(LPM2, Level); in buildFunctionSimplificationPipeline()
566 invokePeepholeEPCallbacks(FPM, Level); in buildFunctionSimplificationPipeline()
570 if (EnableDFAJumpThreading && Level.getSizeLevel() == 0) in buildFunctionSimplificationPipeline()
593 C(FPM, Level); in buildFunctionSimplificationPipeline()
600 invokePeepholeEPCallbacks(FPM, Level); in buildFunctionSimplificationPipeline()
602 if (EnableCHR && Level == OptimizationLevel::O3 && PGOOpt && in buildFunctionSimplificationPipeline()
616 OptimizationLevel Level, bool RunProfileGen, in addPGOInstrPasses() argument
620 assert(Level != OptimizationLevel::O0 && "Not expecting O0 here!"); in addPGOInstrPasses()
630 IP.HintThreshold = Level.isOptimizingForSize() ? PreInlineThreshold : 325; in addPGOInstrPasses()
642 invokePeepholeEPCallbacks(FPM, Level); in addPGOInstrPasses()
670 LoopRotatePass(Level != OptimizationLevel::Oz), in addPGOInstrPasses()
710 static InlineParams getInlineParamsFromOptLevel(OptimizationLevel Level) { in getInlineParamsFromOptLevel() argument
711 return getInlineParams(Level.getSpeedupLevel(), Level.getSizeLevel()); in getInlineParamsFromOptLevel()
715 PassBuilder::buildInlinerPipeline(OptimizationLevel Level, in buildInlinerPipeline() argument
717 InlineParams IP = getInlineParamsFromOptLevel(Level); in buildInlinerPipeline()
767 if (Level == OptimizationLevel::O3) in buildInlinerPipeline()
772 if (Level == OptimizationLevel::O2 || Level == OptimizationLevel::O3) in buildInlinerPipeline()
776 C(MainCGPipeline, Level); in buildInlinerPipeline()
781 buildFunctionSimplificationPipeline(Level, Phase), in buildInlinerPipeline()
784 MainCGPipeline.addPass(CoroSplitPass(Level != OptimizationLevel::O0)); in buildInlinerPipeline()
794 PassBuilder::buildModuleInlinerPipeline(OptimizationLevel Level, in buildModuleInlinerPipeline() argument
798 InlineParams IP = getInlineParamsFromOptLevel(Level); in buildModuleInlinerPipeline()
823 buildFunctionSimplificationPipeline(Level, Phase), in buildModuleInlinerPipeline()
827 CoroSplitPass(Level != OptimizationLevel::O0))); in buildModuleInlinerPipeline()
833 PassBuilder::buildModuleSimplificationPipeline(OptimizationLevel Level, in buildModuleSimplificationPipeline() argument
883 if (Level == OptimizationLevel::O3) in buildModuleSimplificationPipeline()
919 if (Level != OptimizationLevel::O0) in buildModuleSimplificationPipeline()
932 C(MPM, Level); in buildModuleSimplificationPipeline()
935 if (EnableFunctionSpecialization && Level == OptimizationLevel::O3) in buildModuleSimplificationPipeline()
966 invokePeepholeEPCallbacks(GlobalCleanupPM, Level); in buildModuleSimplificationPipeline()
977 addPGOInstrPasses(MPM, Level, in buildModuleSimplificationPipeline()
992 MPM.addPass(buildModuleInlinerPipeline(Level, Phase)); in buildModuleSimplificationPipeline()
994 MPM.addPass(buildInlinerPipeline(Level, Phase)); in buildModuleSimplificationPipeline()
1007 void PassBuilder::addVectorPasses(OptimizationLevel Level, in addVectorPasses() argument
1023 LoopUnrollAndJamPass(Level.getSpeedupLevel()))); in addVectorPasses()
1025 Level.getSpeedupLevel(), /*OnlyWhenForced=*/!PTO.LoopUnrolling, in addVectorPasses()
1038 if (Level.getSpeedupLevel() > 1 && ExtraVectorizerPasses) { in addVectorPasses()
1052 LPM.addPass(SimpleLoopUnswitchPass(/* NonTrivial */ Level == in addVectorPasses()
1091 if (Level.getSpeedupLevel() > 1 && ExtraVectorizerPasses) { in addVectorPasses()
1109 LoopUnrollAndJamPass(Level.getSpeedupLevel()))); in addVectorPasses()
1112 Level.getSpeedupLevel(), /*OnlyWhenForced=*/!PTO.LoopUnrolling, in addVectorPasses()
1133 PassBuilder::buildModuleOptimizationPipeline(OptimizationLevel Level, in buildModuleOptimizationPipeline() argument
1174 addPGOInstrPasses(MPM, Level, /* RunProfileGen */ true, in buildModuleOptimizationPipeline()
1178 addPGOInstrPasses(MPM, Level, /* RunProfileGen */ false, in buildModuleOptimizationPipeline()
1193 C(MPM, Level); in buildModuleOptimizationPipeline()
1212 C(OptimizePM, Level); in buildModuleOptimizationPipeline()
1217 LPM.addPass(LoopRotatePass(Level != OptimizationLevel::Oz, LTOPreLink)); in buildModuleOptimizationPipeline()
1236 addVectorPasses(Level, OptimizePM, /* IsFullLTO */ false); in buildModuleOptimizationPipeline()
1265 C(MPM, Level); in buildModuleOptimizationPipeline()
1304 PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level, in buildPerModuleDefaultPipeline() argument
1306 assert(Level != OptimizationLevel::O0 && in buildPerModuleDefaultPipeline()
1319 C(MPM, Level); in buildPerModuleDefaultPipeline()
1328 MPM.addPass(buildModuleSimplificationPipeline(Level, LTOPhase)); in buildPerModuleDefaultPipeline()
1331 MPM.addPass(buildModuleOptimizationPipeline(Level, LTOPhase)); in buildPerModuleDefaultPipeline()
1347 PassBuilder::buildThinLTOPreLinkDefaultPipeline(OptimizationLevel Level) { in buildThinLTOPreLinkDefaultPipeline() argument
1348 assert(Level != OptimizationLevel::O0 && in buildThinLTOPreLinkDefaultPipeline()
1364 C(MPM, Level); in buildThinLTOPreLinkDefaultPipeline()
1370 Level, ThinOrFullLTOPhase::ThinLTOPreLink)); in buildThinLTOPreLinkDefaultPipeline()
1393 C(MPM, Level); in buildThinLTOPreLinkDefaultPipeline()
1404 OptimizationLevel Level, const ModuleSummaryIndex *ImportSummary) { in buildThinLTODefaultPipeline() argument
1430 if (Level == OptimizationLevel::O0) { in buildThinLTODefaultPipeline()
1447 Level, ThinOrFullLTOPhase::ThinLTOPostLink)); in buildThinLTODefaultPipeline()
1451 Level, ThinOrFullLTOPhase::ThinLTOPostLink)); in buildThinLTODefaultPipeline()
1460 PassBuilder::buildLTOPreLinkDefaultPipeline(OptimizationLevel Level) { in buildLTOPreLinkDefaultPipeline() argument
1461 assert(Level != OptimizationLevel::O0 && in buildLTOPreLinkDefaultPipeline()
1464 return buildPerModuleDefaultPipeline(Level, in buildLTOPreLinkDefaultPipeline()
1469 PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level, in buildLTODefaultPipeline() argument
1477 C(MPM, Level); in buildLTODefaultPipeline()
1483 if (Level == OptimizationLevel::O0) { in buildLTODefaultPipeline()
1493 C(MPM, Level); in buildLTODefaultPipeline()
1525 if (Level.getSpeedupLevel() > 1) { in buildLTODefaultPipeline()
1536 if (EnableFunctionSpecialization && Level == OptimizationLevel::O3) in buildLTODefaultPipeline()
1565 if (Level == OptimizationLevel::O1) { in buildLTODefaultPipeline()
1575 C(MPM, Level); in buildLTODefaultPipeline()
1602 if (Level == OptimizationLevel::O3) in buildLTODefaultPipeline()
1604 invokePeepholeEPCallbacks(PeepholeFPM, Level); in buildLTODefaultPipeline()
1615 getInlineParamsFromOptLevel(Level), in buildLTODefaultPipeline()
1633 invokePeepholeEPCallbacks(FPM, Level); in buildLTODefaultPipeline()
1641 addPGOInstrPasses(MPM, Level, /* RunProfileGen */ true, in buildLTODefaultPipeline()
1646 addPGOInstrPasses(MPM, Level, /* RunProfileGen */ false, in buildLTODefaultPipeline()
1697 if (EnableLoopFlatten && Level.getSpeedupLevel() > 1) in buildLTODefaultPipeline()
1704 LPM.addPass(LoopFullUnrollPass(Level.getSpeedupLevel(), in buildLTODefaultPipeline()
1714 addVectorPasses(Level, MainFPM, /* IsFullLTO */ true); in buildLTODefaultPipeline()
1720 invokePeepholeEPCallbacks(MainFPM, Level); in buildLTODefaultPipeline()
1757 C(MPM, Level); in buildLTODefaultPipeline()
1765 ModulePassManager PassBuilder::buildO0DefaultPipeline(OptimizationLevel Level, in buildO0DefaultPipeline() argument
1767 assert(Level == OptimizationLevel::O0 && in buildO0DefaultPipeline()
1787 C(MPM, Level); in buildO0DefaultPipeline()
1793 C(MPM, Level); in buildO0DefaultPipeline()
1812 C(CGPM, Level); in buildO0DefaultPipeline()
1819 C(LPM, Level); in buildO0DefaultPipeline()
1828 C(LPM, Level); in buildO0DefaultPipeline()
1837 C(FPM, Level); in buildO0DefaultPipeline()
1843 C(MPM, Level); in buildO0DefaultPipeline()
1848 C(FPM, Level); in buildO0DefaultPipeline()
1863 C(MPM, Level); in buildO0DefaultPipeline()