[llvm] r239265 - [objdump] Moving PrintImmHex out of MachODump and in to llvm-objdump and setting instprinter appropriately.

Colin LeMahieu colinl at codeaurora.org
Sun Jun 7 14:07:17 PDT 2015


Author: colinl
Date: Sun Jun  7 16:07:17 2015
New Revision: 239265

URL: http://llvm.org/viewvc/llvm-project?rev=239265&view=rev
Log:
[objdump] Moving PrintImmHex out of MachODump and in to llvm-objdump and setting instprinter appropriately.

Added:
    llvm/trunk/test/MC/X86/hex-immediates.s
Modified:
    llvm/trunk/tools/llvm-objdump/MachODump.cpp
    llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
    llvm/trunk/tools/llvm-objdump/llvm-objdump.h

Added: llvm/trunk/test/MC/X86/hex-immediates.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/hex-immediates.s?rev=239265&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/hex-immediates.s (added)
+++ llvm/trunk/test/MC/X86/hex-immediates.s Sun Jun  7 16:07:17 2015
@@ -0,0 +1,10 @@
+# RUN: llvm-mc -filetype=obj %s -triple=x86_64-apple-darwin9 | llvm-objdump -d --print-imm-hex - | FileCheck %s
+
+# CHECK: movabsq	$0x7fffffffffffffff, %rcx
+movabsq	$0x7fffffffffffffff, %rcx
+# CHECK: leaq	0x3e2(%rip), %rdi
+leaq	0x3e2(%rip), %rdi
+# CHECK: subq	$0x40, %rsp
+subq	$0x40, %rsp
+# CHECK: leal	(,%r14,4), %eax
+leal	(,%r14,4), %eax

Modified: llvm/trunk/tools/llvm-objdump/MachODump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/MachODump.cpp?rev=239265&r1=239264&r2=239265&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/MachODump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/MachODump.cpp Sun Jun  7 16:07:17 2015
@@ -67,10 +67,6 @@ static cl::opt<bool> FullLeadingAddr("fu
 static cl::opt<bool> NoLeadingAddr("no-leading-addr",
                                    cl::desc("Print no leading address"));
 
-static cl::opt<bool>
-    PrintImmHex("print-imm-hex",
-                cl::desc("Use hex format for immediate values"));
-
 cl::opt<bool> llvm::UniversalHeaders("universal-headers",
                                      cl::desc("Print Mach-O universal headers "
                                               "(requires -macho)"));

Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=239265&r1=239264&r2=239265&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Sun Jun  7 16:07:17 2015
@@ -149,6 +149,10 @@ static cl::alias
 PrivateHeadersShort("p", cl::desc("Alias for --private-headers"),
                     cl::aliasopt(PrivateHeaders));
 
+cl::opt<bool>
+    llvm::PrintImmHex("print-imm-hex",
+                      cl::desc("Use hex format for immediate values"));
+
 static StringRef ToolName;
 static int ReturnValue = EXIT_SUCCESS;
 
@@ -743,6 +747,7 @@ static void DisassembleObject(const Obje
       << '\n';
     return;
   }
+  IP->setPrintImmHex(PrintImmHex);
   PrettyPrinter &PIP = selectPrettyPrinter(Triple(TripleName));
 
   StringRef Fmt = Obj->getBytesInAddress() > 4 ? "\t\t%016" PRIx64 ":  " :

Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.h?rev=239265&r1=239264&r2=239265&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.h (original)
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.h Sun Jun  7 16:07:17 2015
@@ -51,6 +51,7 @@ extern cl::opt<bool> SectionHeaders;
 extern cl::opt<bool> SectionContents;
 extern cl::opt<bool> SymbolTable;
 extern cl::opt<bool> UnwindInfo;
+extern cl::opt<bool> PrintImmHex;
 
 // Various helper functions.
 bool error(std::error_code ec);





More information about the llvm-commits mailing list