[PM] Simplify the interface exposed for IR printing passes.
[oota-llvm.git] / include / llvm / IR / IRPrintingPasses.h
index 45d3c7a120a7798534be0fdadf1d2aa98c6e6b39..67a6e62952f74844c17078872a6e649be21e0fbf 100644 (file)
@@ -29,21 +29,26 @@ class raw_ostream;
 
 /// \brief Create and return a pass that writes the module to the specified
 /// \c raw_ostream.
-ModulePass *createPrintModulePass(raw_ostream *OS, bool DeleteStream = false,
+ModulePass *createPrintModulePass(raw_ostream &OS,
                                   const std::string &Banner = "");
 
 /// \brief Create and return a pass that prints functions to the specified
 /// \c raw_ostream as they are processed.
-FunctionPass *createPrintFunctionPass(const std::string &Banner,
-                                      raw_ostream *OS,
-                                      bool DeleteStream = false);
+FunctionPass *createPrintFunctionPass(raw_ostream &OS,
+                                      const std::string &Banner = "");
 
 /// \brief Create and return a pass that writes the BB to the specified
 /// \c raw_ostream.
-BasicBlockPass *createPrintBasicBlockPass(raw_ostream *OS,
-                                          bool DeleteStream = false,
+BasicBlockPass *createPrintBasicBlockPass(raw_ostream &OS,
                                           const std::string &Banner = "");
 
+/// \brief Pass for printing a Module as LLVM's text IR assembly.
+///
+/// NOTE: This pass is for use with the new pass manager. Use the create...Pass
+/// functions above to create passes for use with the legacy pass manager.
+class AOEUPrintModulePass {
+};
+
 } // End llvm namespace
 
 #endif