Move more to raw_ostream, provide support for writing MachineBasicBlock,
[oota-llvm.git] / lib / CodeGen / VirtRegMap.h
index fe767b7671e11b5851caff4f011e05aaa29ea6b2..7d1cf95fce0e4b2c177b9a40e1c7b373f23c9965 100644 (file)
@@ -34,6 +34,7 @@ namespace llvm {
   class MachineRegisterInfo;
   class TargetInstrInfo;
   class TargetRegisterInfo;
+  class raw_ostream;
 
   class VirtRegMap : public MachineFunctionPass {
   public:
@@ -483,6 +484,8 @@ namespace llvm {
 
     void print(std::ostream &OS, const Module* M = 0) const;
     void print(std::ostream *OS) const { if (OS) print(*OS); }
+    void print(raw_ostream &OS, const Module* M = 0) const;
+    void print(raw_ostream *OS) const { if (OS) print(*OS); }
     void dump() const;
   };
 
@@ -494,6 +497,14 @@ namespace llvm {
     VRM.print(OS);
     return OS;
   }
+  inline raw_ostream *operator<<(raw_ostream *OS, const VirtRegMap &VRM) {
+    VRM.print(OS);
+    return OS;
+  }
+  inline raw_ostream &operator<<(raw_ostream &OS, const VirtRegMap &VRM) {
+    VRM.print(OS);
+    return OS;
+  }
 } // End llvm namespace
 
 #endif