Home | History | Annotate | Download | only in IPO

Lines Matching refs:PM

147                                            legacy::PassManagerBase &PM) const {
150 (*GlobalExtensions)[i].second(*this, PM);
153 Extensions[i].second(*this, PM);
157 legacy::PassManagerBase &PM) const {
162 PM.add(createCFLAAWrapperPass());
163 PM.add(createTypeBasedAAWrapperPass());
164 PM.add(createScopedNoAliasAAWrapperPass());
479 void PassManagerBuilder::addLTOOptimizationPasses(legacy::PassManagerBase &PM) {
481 addInitialAliasAnalysisPasses(PM);
484 PM.add(createFunctionImportPass(FunctionIndex));
489 PM.add(createIPSCCPPass());
492 PM.add(createFunctionAttrsPass()); // Add norecurse if possible.
493 PM.add(createGlobalOptimizerPass());
495 PM.add(createPromoteMemoryToRegisterPass());
499 PM.add(createConstantMergePass());
502 PM.add(createDeadArgEliminationPass());
508 PM.add(createInstructionCombiningPass());
509 addExtensionsToPM(EP_Peephole, PM);
514 PM.add(Inliner);
518 PM.add(createPruneEHPass()); // Remove dead EH info.
522 PM.add(createGlobalOptimizerPass());
523 PM.add(createGlobalDCEPass()); // Remove dead functions.
527 PM.add(createArgumentPromotionPass());
530 PM.add(createInstructionCombiningPass());
531 addExtensionsToPM(EP_Peephole, PM);
532 PM.add(createJumpThreadingPass());
536 PM.add(createSROAPass());
538 PM.add(createScalarReplAggregatesPass());
541 PM.add(createFunctionAttrsPass()); // Add nocapture.
542 PM.add(createGlobalsAAWrapperPass()); // IP alias analysis.
544 PM.add(createLICMPass()); // Hoist loop invariants.
546 PM.add(createMergedLoadStoreMotionPass()); // Merge ld/st in diamonds.
547 PM.add(createGVNPass(DisableGVNLoadPRE)); // Remove redundancies.
548 PM.add(createMemCpyOptPass()); // Remove dead memcpys.
551 PM.add(createDeadStoreEliminationPass());
554 PM.add(createIndVarSimplifyPass());
555 PM.add(createLoopDeletionPass());
557 PM.add(createLoopInterchangePass());
559 PM.add(createLoopVectorizePass(true, LoopVectorize));
564 PM.add(createInstructionCombiningPass()); // Initial cleanup
565 PM.add(createCFGSimplificationPass()); // if-convert
566 PM.add(createSCCPPass()); // Propagate exposed constants
567 PM.add(createInstructionCombiningPass()); // Clean up again
568 PM.add(createBitTrackingDCEPass());
573 PM.add(createSLPVectorizerPass()); // Vectorize parallel scalar chains.
577 PM.add(createAlignmentFromAssumptionsPass());
580 PM.add(createLoadCombinePass());
583 PM.add(createInstructionCombiningPass());
584 addExtensionsToPM(EP_Peephole, PM);
586 PM.add(createJumpThreadingPass());
590 legacy::PassManagerBase &PM) {
592 PM.add(createCFGSimplificationPass());
595 PM.add(createEliminateAvailableExternallyPass());
598 PM.add(createGlobalDCEPass());
603 PM.add(createMergeFunctionsPass());
606 void PassManagerBuilder::populateLTOPassManager(legacy::PassManagerBase &PM) {
608 PM.add(new TargetLibraryInfoWrapperPass(*LibraryInfo));
611 PM.add(createVerifierPass());
614 addLTOOptimizationPasses(PM);
618 PM.add(createCrossDSOCFIPass());
623 PM.add(createLowerBitSetsPass());
626 addLateLTOOptimizationPasses(PM);
629 PM.add(createVerifierPass());
693 LLVMPassManagerRef PM) {
695 legacy::FunctionPassManager *FPM = unwrap<legacy::FunctionPassManager>(PM);
701 LLVMPassManagerRef PM) {
703 legacy::PassManagerBase *MPM = unwrap(PM);
708 LLVMPassManagerRef PM,
712 legacy::PassManagerBase *LPM = unwrap(PM);