Lines Matching full:passes
40 #include "llvm/Passes/PassPlugin.h"
68 // The OptimizationList is automatically populated with registered Passes by the
71 "Optimizations available (use \"-passes=\" for the new pass manager)"));
85 "passes",
87 "A textual description of the pass pipeline. To have analysis passes "
90 cl::desc("Alias for -passes"));
92 static cl::opt<bool> PrintPasses("print-passes",
93 cl::desc("Print available passes that can be "
94 "specified in -passes=foo and exit"));
157 "Same as -passes=\"default<O0>\""));
161 "Same as -passes=\"default<O1>\""));
165 "Same as -passes=\"default<O2>\""));
169 "-Os. Same as -passes=\"default<Os>\""));
174 "clang -Oz. Same as -passes=\"default<Oz>\""));
178 "Same as -passes=\"default<O3>\""));
228 cl::desc("Run all passes twice, re-using the "
270 cl::desc("Only record optimization remarks from passes whose "
281 cl::desc("Load passes from plugin library"));
317 // passes. Remove passes from here when porting to the NPM.
415 // Initialize passes
425 // For codegen passes, only passes that do IR to IR transformation are
481 "not supported, please use `opt -passes=<pipeline>` (or the `-p` "
496 // PassBuilder for print passes.
706 errs() << "Cannot specify -O# and --passes=/--foo-pass, use "
707 "-passes='default<O#>,other-pass'\n";
766 // Create a PassManager to hold and optimize the collection of passes we are
768 // the (-check)-debugify passes.
769 DebugifyCustomPassManager Passes;
773 Passes.setDebugifyMode(DebugifyMode::SyntheticDebugInfo);
774 Passes.setDIStatsMap(DIStatsMap);
776 Passes.setDebugifyMode(DebugifyMode::OriginalDebugInfo);
777 Passes.setDebugInfoBeforePass(DebugInfoBeforePass);
779 Passes.setOrigDIVerifyBugsReportFilePath(VerifyDIPreserveExport);
786 Passes.add(new TargetLibraryInfoWrapperPass(TLII));
788 // Add internal analysis passes from the target machine.
789 Passes.add(createTargetTransformInfoWrapperPass(TM ? TM->getTargetIRAnalysis()
794 Passes.setDIStatsMap(DIStatsMap);
795 Passes.add(createDebugifyModulePass());
797 Passes.setDebugInfoBeforePass(DebugInfoBeforePass);
798 Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "",
799 &(Passes.getDebugInfoPerPass())));
804 Pass *TPC = TM->createPassConfig(Passes);
809 Passes.add(TPC);
819 Passes.add(P);
822 Passes.add(createVerifierPass());
831 Passes.add(createVerifierPass());
835 Passes.add(createCheckDebugifyModulePass(false));
838 Passes.setOrigDIVerifyBugsReportFilePath(VerifyDIPreserveExport);
839 Passes.add(createCheckDebugifyModulePass(
841 &(Passes.getDebugInfoPerPass()), VerifyDIPreserveExport));
865 Passes.add(createPrintModulePass(*OS, "", PreserveAssemblyUseListOrder));
867 Passes.add(createBitcodeWriterPass(*OS, PreserveBitcodeUseListOrder));
870 // Before executing passes, print the final values of the LLVM options.
874 // Now that we have all of the passes ready, run them.
875 Passes.run(*M);
877 // If requested, run all passes twice with the same pass manager to catch
878 // bugs caused by persistent state in the passes.
880 // Run all passes on the original module first, so the second run processes
882 Passes.run(*M);
886 Passes.run(*M2);
910 exportDebugifyStats(DebugifyExport, Passes.getDebugifyStatsMap());