[PATCH] D76580: [X86InstPrinter] Change printPCRelImm to print the target address in hexadecimal form
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 24 11:49:18 PDT 2020
MaskRay marked an inline comment as done.
MaskRay added inline comments.
================
Comment at: llvm/test/tools/llvm-mca/X86/show-encoding.s:58
# NORMAL-NEXT: 1 1 0.50 cmpl %r8d, %esi
-# NORMAL-NEXT: 1 1 0.50 jl -90
+# NORMAL-NEXT: 1 1 0.50 jl 0xffffffffffffffa6
----------------
andreadb wrote:
> I find the `jl 0xffffffffffffffa6` less readable than the old `jl -90` to be honest.
>
> For cases like this where the address of the next instruction is unknown (and therefore set to zero), I suggest that we fall back to the old behavior.
> This case in is particularly annoying here because the Imm value is negative.
>
> Note that this is quite a common pattern for code snippets processed by mca.
> The branch at the end of a mca code snippet is often a backedge.
>
> I don't know the motivations for this change. However, can we at least avoid to change the value if the PC value is unknown? Just an idea.
`jl -90` is not an ideal output. The unambiguous form is `jl .-90`
I'll add a member variable `TargetAddressAsDotRelative` in D72172.
> I don't know the motivations for this change.
call/jump instructions not displaying the target address has always been a great pain for many users. I personally prefer GNU objdump -d just because this issue.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76580/new/
https://reviews.llvm.org/D76580
More information about the llvm-commits
mailing list