[llvm] cc2457c - [llvm-objdump] Set --print-imm-hex by default.

Daniel Thornburgh via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 30 13:36:25 PDT 2022


Author: Daniel Thornburgh
Date: 2022-10-30T13:36:18-07:00
New Revision: cc2457ca1bbdddefc09d72f889bc0389c90a831e

URL: https://github.com/llvm/llvm-project/commit/cc2457ca1bbdddefc09d72f889bc0389c90a831e
DIFF: https://github.com/llvm/llvm-project/commit/cc2457ca1bbdddefc09d72f889bc0389c90a831e.diff

LOG: [llvm-objdump] Set --print-imm-hex by default.

This was previously attempted in 2016 by colinl's D18770, but LLD tests
were missed, which caused the change to be reverted.

Setting --print-imm-hex by default brings llvm-objdump's behavior closer
in line with objdump, and it makes it easier to read addresses and
alignment from the disassembly. It may make non-address immediates
harder to interpret, but it still seems the better default, barring more
context-sensitive base selection logic.

Differential Revision: https://reviews.llvm.org/D136972

Added: 
    

Modified: 
    llvm/docs/CommandGuide/llvm-objdump.rst
    llvm/docs/ReleaseNotes.rst
    llvm/test/tools/llvm-objdump/X86/print-imm-hex.s
    llvm/tools/llvm-objdump/llvm-objdump.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/docs/CommandGuide/llvm-objdump.rst b/llvm/docs/CommandGuide/llvm-objdump.rst
index 65a26bb3da84..0be440c2e360 100644
--- a/llvm/docs/CommandGuide/llvm-objdump.rst
+++ b/llvm/docs/CommandGuide/llvm-objdump.rst
@@ -196,7 +196,7 @@ OPTIONS
 
 .. option:: --no-print-imm-hex
 
-  Do not use hex format for immediate values in disassembly output (default).
+  Do not use hex format for immediate values in disassembly output.
 
 .. option:: --no-show-raw-insn
 
@@ -219,7 +219,7 @@ OPTIONS
 
 .. option:: --print-imm-hex
 
-  Use hex format when printing immediate values in disassembly output.
+  Use hex format when printing immediate values in disassembly output (default).
 
 .. option:: -S, --source
 

diff  --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index 9205d24346e0..0b9e08a3e830 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -200,6 +200,9 @@ Changes to the LLVM tools
   that consume ``llvm-readobj``'s JSON output should update their parsers
   accordingly.
 
+* ``llvm-objdump`` now uses ``--print-imm-hex`` by default, which brings its
+  default behavior closer in line with ``objdump``.
+
 Changes to LLDB
 ---------------------------------
 

diff  --git a/llvm/test/tools/llvm-objdump/X86/print-imm-hex.s b/llvm/test/tools/llvm-objdump/X86/print-imm-hex.s
index 8de49fd4c2a7..c4ae34639da4 100644
--- a/llvm/test/tools/llvm-objdump/X86/print-imm-hex.s
+++ b/llvm/test/tools/llvm-objdump/X86/print-imm-hex.s
@@ -1,6 +1,6 @@
 # RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t
 
-# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=NOPRINT
+# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=PRINT
 # RUN: llvm-objdump -d --print-imm-hex --no-print-imm-hex %t | FileCheck %s --check-prefix=NOPRINT
 # RUN: llvm-objdump -d --no-print-imm-hex --print-imm-hex %t | FileCheck %s --check-prefix=PRINT
 

diff  --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index efa64ede5071..9dab4a7477c5 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -3030,7 +3030,7 @@ static void parseObjdumpOptions(const llvm::opt::InputArgList &InputArgs) {
   RawClangAST = InputArgs.hasArg(OBJDUMP_raw_clang_ast);
   Relocations = InputArgs.hasArg(OBJDUMP_reloc);
   PrintImmHex =
-      InputArgs.hasFlag(OBJDUMP_print_imm_hex, OBJDUMP_no_print_imm_hex, false);
+      InputArgs.hasFlag(OBJDUMP_print_imm_hex, OBJDUMP_no_print_imm_hex, true);
   PrivateHeaders = InputArgs.hasArg(OBJDUMP_private_headers);
   FilterSections = InputArgs.getAllArgValues(OBJDUMP_section_EQ);
   SectionHeaders = InputArgs.hasArg(OBJDUMP_section_headers);


        


More information about the llvm-commits mailing list