diff --git a/llvm/tools/llvm-ld/llvm-ld.cpp b/llvm/tools/llvm-ld/llvm-ld.cpp
index 4be651b..2aa6d18 100644
--- a/llvm/tools/llvm-ld/llvm-ld.cpp
+++ b/llvm/tools/llvm-ld/llvm-ld.cpp
@@ -25,7 +25,7 @@
 #include "llvm/System/Program.h"
 #include "llvm/Module.h"
 #include "llvm/PassManager.h"
-#include "llvm/Bytecode/Reader.h"
+#include "llvm/Bitcode/ReaderWriter.h"
 #include "llvm/Bytecode/Writer.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetMachine.h"
@@ -33,6 +33,7 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/FileUtilities.h"
 #include "llvm/Support/ManagedStatic.h"
+#include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/Streams.h"
 #include "llvm/Support/SystemUtils.h"
 #include "llvm/System/Signals.h"
@@ -40,6 +41,8 @@
 #include <memory>
 using namespace llvm;
 
+cl::opt<bool> Bitcode("bitcode");
+
 // Input/Output Options
 static cl::list<std::string> InputFilenames(cl::Positional, cl::OneOrMore,
   cl::desc("<input bytecode files>"));
@@ -224,8 +227,12 @@
   sys::RemoveFileOnSignal(sys::Path(FileName));
 
   // Write it out
-  OStream L(Out);
-  WriteBytecodeToFile(M, L, !DisableCompression);
+  if (Bitcode) {
+    WriteBitcodeToFile(M, Out);
+  } else {
+    OStream L(Out);
+    WriteBytecodeToFile(M, L, !DisableCompression);
+  }
 
   // Close the bytecode file.
   Out.close();
@@ -547,7 +554,7 @@
           args[2] = tmp_output.c_str();
           args[3] = 0;
           if (0 == sys::Program::ExecuteAndWait(prog, args, 0,0,0,0, &ErrMsg)) {
-            if (tmp_output.isBytecodeFile()) {
+            if (tmp_output.isBytecodeFile() || tmp_output.isBitcodeFile()) {
               sys::Path target(RealBytecodeOutput);
               target.eraseFromDisk();
               if (tmp_output.renamePathOnDisk(target, &ErrMsg))
