[PATCH] D76591: [PPCInstPrinter] Change printBranchOperand(calltarget) to print the target address in hexadecimal form

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 23 00:31:08 PDT 2020


MaskRay created this revision.
MaskRay added reviewers: PowerPC, Bdragon28, jhibbits, sfertile.
Herald added subscribers: llvm-commits, steven.zhang, rupprecht, kbarton, hiraditya, nemanjai, emaste.
Herald added a reviewer: espindola.
Herald added a reviewer: jhenderson.
Herald added a project: LLVM.
MaskRay added a parent revision: D76574: [MCInstPrinter] Pass `Address` parameter to MCOI::OPERAND_PCREL typed operands.
Herald added a subscriber: wuzish.

  // llvm-objdump -d output (before)
  0: bl .-4
  4: bl .+0
  8: bl .+4
  
  // llvm-objdump -d output (after)
  0: bl 0xfffffffc / bl 0xfffffffffffffffc
  4: bl 0x4
  8: bl 0xc
  
  // GNU objdump -d output
  0: bl fffffffc / bl fffffffffffffffc
  4: bl 4
  8: bl c

Many Operand's are not annotated as OPERAND_PCREL. They are not affected (e.g. `b .+67108860`). I plan to fix them in future patches.

Modified test/tools/llvm-objdump/ELF/PowerPC/branch-offset.s to test
address space wraparound for powerpc32 and powerpc64.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76591

Files:
  lld/test/ELF/ppc32-call-stub-nopic.s
  lld/test/ELF/ppc32-call-stub-pic.s
  lld/test/ELF/ppc32-ifunc-nonpreemptible-nopic.s
  lld/test/ELF/ppc32-ifunc-nonpreemptible-pic.s
  lld/test/ELF/ppc32-long-thunk.s
  lld/test/ELF/ppc32-tls-gd.s
  lld/test/ELF/ppc32-tls-ld.s
  lld/test/ELF/ppc32-weak-undef-call.s
  lld/test/ELF/ppc64-bsymbolic-toc-restore.s
  lld/test/ELF/ppc64-call-reach.s
  lld/test/ELF/ppc64-func-entry-points.s
  lld/test/ELF/ppc64-ifunc.s
  lld/test/ELF/ppc64-local-dynamic.s
  lld/test/ELF/ppc64-long-branch-pi.s
  lld/test/ELF/ppc64-long-branch.s
  lld/test/ELF/ppc64-plt-stub.s
  lld/test/ELF/ppc64-rel-calls.s
  lld/test/ELF/ppc64-tls-gd.s
  lld/test/ELF/ppc64-toc-restore-recursive-call.s
  lld/test/ELF/ppc64-toc-restore.s
  lld/test/ELF/ppc64-weak-undef-call.s
  llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
  llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
  llvm/test/CodeGen/PowerPC/aix-user-defined-memcpy.ll
  llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
  llvm/test/tools/llvm-objdump/ELF/PowerPC/branch-offset.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76591.251956.patch
Type: text/x-patch
Size: 21618 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200323/31241576/attachment.bin>


More information about the llvm-commits mailing list