[llvm-commits] CVS: llvm/tools/llvm-dis/Makefile llvm-dis.cpp

Chris Lattner sabre at nondot.org
Sat Apr 21 23:31:19 PDT 2007



Changes in directory llvm/tools/llvm-dis:

Makefile updated: 1.20 -> 1.21
llvm-dis.cpp updated: 1.56 -> 1.57
---
Log message:

teach llvm-dis to read bitcode files


---
Diffs of the changes:  (+9 -4)

 Makefile     |    2 +-
 llvm-dis.cpp |   11 ++++++++---
 2 files changed, 9 insertions(+), 4 deletions(-)


Index: llvm/tools/llvm-dis/Makefile
diff -u llvm/tools/llvm-dis/Makefile:1.20 llvm/tools/llvm-dis/Makefile:1.21
--- llvm/tools/llvm-dis/Makefile:1.20	Mon Sep  4 00:24:16 2006
+++ llvm/tools/llvm-dis/Makefile	Sun Apr 22 01:31:02 2007
@@ -9,7 +9,7 @@
 LEVEL = ../..
 
 TOOLNAME = llvm-dis
-LINK_COMPONENTS := bcreader
+LINK_COMPONENTS := bcreader bitreader
 REQUIRES_EH := 1
 
 include $(LEVEL)/Makefile.common


Index: llvm/tools/llvm-dis/llvm-dis.cpp
diff -u llvm/tools/llvm-dis/llvm-dis.cpp:1.56 llvm/tools/llvm-dis/llvm-dis.cpp:1.57
--- llvm/tools/llvm-dis/llvm-dis.cpp:1.56	Wed Feb  7 15:41:02 2007
+++ llvm/tools/llvm-dis/llvm-dis.cpp	Sun Apr 22 01:31:02 2007
@@ -18,6 +18,7 @@
 
 #include "llvm/Module.h"
 #include "llvm/PassManager.h"
+#include "llvm/Bitcode/ReaderWriter.h"
 #include "llvm/Bytecode/Reader.h"
 #include "llvm/Assembly/PrintModulePass.h"
 #include "llvm/Support/Compressor.h"
@@ -52,9 +53,13 @@
     std::ostream *Out = &std::cout;  // Default to printing to stdout.
     std::string ErrorMessage;
 
-    std::auto_ptr<Module> M(ParseBytecodeFile(InputFilename, 
-                                              Compressor::decompressToNewBuffer,
-                                              &ErrorMessage));
+    std::auto_ptr<Module> M;
+    
+    M.reset(ParseBitcodeFile(InputFilename, &ErrorMessage));
+    
+    if (M.get() == 0)
+      M.reset(ParseBytecodeFile(InputFilename,Compressor::decompressToNewBuffer,
+                                &ErrorMessage));
     if (M.get() == 0) {
       cerr << argv[0] << ": ";
       if (ErrorMessage.size())






More information about the llvm-commits mailing list