[llvm-dev] x86: How to Force 2-byte `jmp` instruction in lowering

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 29 09:27:05 PDT 2016


On Wed, Jun 22, 2016 at 9:36 AM, Nirav Davé <llvm-dev at lists.llvm.org> wrote:

> In any case, the issue appears to be that llvm doesn't realize that the
> target address is resolved and erroneously applies branch relaxation to the
> jump. I don't know why a linker private symbol would make a difference.
>

Relaxation is the process of *shortening* jumps that can be shortened, and
then re-running instruction layout to discover more relaxations until
fixpoint. Removing the -relax-all flag in clang won't help here, it would
hurt.

I'm not exactly sure what the semantics of linker private symbols are, but
using a normal assembler temporary label is probably the way to go anyway.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160629/87386802/attachment.html>


More information about the llvm-dev mailing list