diff --git a/lib/CodeGen/LiveInterval.cpp b/lib/CodeGen/LiveInterval.cpp
index e2a3bba..78c874c 100644
--- a/lib/CodeGen/LiveInterval.cpp
+++ b/lib/CodeGen/LiveInterval.cpp
@@ -24,6 +24,7 @@
 #include "llvm/Target/MRegisterInfo.h"
 #include <algorithm>
 #include <map>
+#include <ostream>
 using namespace llvm;
 
 // An example for liveAt():
@@ -509,3 +510,9 @@
 void LiveInterval::dump() const {
   cerr << *this << "\n";
 }
+
+
+OStream& llvm::operator<<(OStream& os, const LiveRange &LR) {
+  if (os.stream()) *os.stream() << LR;
+  return os;
+}
diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp
index a626f4f..39b142a 100644
--- a/lib/CodeGen/MachineBasicBlock.cpp
+++ b/lib/CodeGen/MachineBasicBlock.cpp
@@ -31,6 +31,11 @@
   return OS;
 }
 
+OStream& llvm::operator<<(OStream &OS, const MachineBasicBlock &MBB) {
+  if (OS.stream()) *OS.stream() << MBB;
+  return OS;
+}
+
 // MBBs start out as #-1. When a MBB is added to a MachineFunction, it
 // gets the next available unique MBB number. If it is removed from a
 // MachineFunction, it goes back to being #-1.
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 716b40f..a684425 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -18,6 +18,7 @@
 #include "llvm/Target/MRegisterInfo.h"
 #include "llvm/Support/LeakDetector.h"
 #include "llvm/Support/Streams.h"
+#include <ostream>
 using namespace llvm;
 
 /// MachineInstr ctor - This constructor creates a dummy MachineInstr with
@@ -363,3 +364,14 @@
 
   return OS;
 }
+
+OStream& llvm::operator<<(OStream& os, const MachineInstr& minstr) {
+  if (os.stream()) *os.stream() << minstr;
+  return os;
+}
+
+OStream& llvm::operator<<(OStream& os, const MachineOperand& mop) {
+  if (os.stream()) *os.stream() << mop;
+  return os;
+}
+
