[llvm-bugs] [Bug 17582] inefficient local dynamic code on x86_64

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Oct 16 00:20:18 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=17582

Eric Christopher <echristo at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Eric Christopher <echristo at gmail.com> ---
Code looks much better now:

dzur:~/tmp> ~/builds/build-llvm/Debug+Asserts/bin/clang -O2 -S -o - foo.c
    .text
    .file    "foo.c"
    .globl    test
    .align    16, 0x90
    .type    test, at function
test:                                   # @test
    .cfi_startproc
# BB#0:                                 # %entry
    movq    $obj1 at TPOFF, %rax
    movq    %fs:0, %rcx
    addl    %ecx, %eax
    testl    %eax, %eax
    setg    %al
    movzbl    %al, %edi
    movq    $obj2 at TPOFF, %rax
    addl    %ecx, %eax
    testl    %eax, %eax
    setg    %al
    movzbl    %al, %esi
    jmp    f                       # TAILCALL
.Lfunc_end0:
    .size    test, .Lfunc_end0-test
    .cfi_endproc

    .hidden    obj1                    # @obj1
    .type    obj1, at object
    .section    .tbss,"awT", at nobits
    .globl    obj1
    .align    4
obj1:
    .long    0                       # 0x0
    .size    obj1, 4

    .hidden    obj2                    # @obj2
    .type    obj2, at object
    .globl    obj2
    .align    4
obj2:
    .long    0                       # 0x0
    .size    obj2, 4


    .ident    "clang version 3.8.0 (trunk 250477) (llvm/trunk 250464)"
    .section    ".note.GNU-stack","", at progbits

Might want to verify though Rafael.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20151016/07f4fa43/attachment.html>


More information about the llvm-bugs mailing list