Wrap const MDNode * inside DIDescriptor.
[oota-llvm.git] / tools / llvm-dis / llvm-dis.cpp
index 89073c08843665b07dd8179509394abdbfa6415b..b8b1a39384cd766dcd7057130e07ce6d48cd5abe 100644 (file)
@@ -18,9 +18,7 @@
 
 #include "llvm/LLVMContext.h"
 #include "llvm/Module.h"
-#include "llvm/PassManager.h"
 #include "llvm/Bitcode/ReaderWriter.h"
-#include "llvm/Assembly/PrintModulePass.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ManagedStatic.h"
 #include "llvm/Support/MemoryBuffer.h"
@@ -89,7 +87,12 @@ int main(int argc, char **argv) {
         OutputFilename = IFN+".ll";
     }
   }
-  
+
+  // Make sure that the Out file gets unlinked from the disk if we get a
+  // SIGINT.
+  if (OutputFilename != "-")
+    sys::RemoveFileOnSignal(sys::Path(OutputFilename));
+
   std::string ErrorInfo;
   std::auto_ptr<raw_fd_ostream> 
   Out(new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo,
@@ -99,17 +102,9 @@ int main(int argc, char **argv) {
     return 1;
   }
 
-  // Make sure that the Out file gets unlinked from the disk if we get a
-  // SIGINT.
-  if (OutputFilename != "-")
-    sys::RemoveFileOnSignal(sys::Path(OutputFilename));
-
   // All that llvm-dis does is write the assembly to a file.
-  if (!DontPrint) {
-    PassManager Passes;
-    Passes.add(createPrintModulePass(Out.get()));
-    Passes.run(*M.get());
-  }
+  if (!DontPrint)
+    *Out << *M;
 
   return 0;
 }