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

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 29 10:05:42 PDT 2016


I thought jumps start short and relaxation widens them as needed until
fixpoint. So relax-all causes them all to be widened unconditionally.

On Wed, Jun 29, 2016 at 9:27 AM, Reid Kleckner via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> 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.
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>


-- 
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160629/f6a315ea/attachment.html>


More information about the llvm-dev mailing list