[LLVMbugs] [Bug 13265] New: __builtin_expect generates bad code

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jul 3 17:27:01 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=13265

             Bug #: 13265
           Summary: __builtin_expect generates bad code
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nwmcsween at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


When using __builtin_expect() llvm erroneously aligns both branches.

Files and llvm / gcc output is here: https://gist.github.com/3043849 (I was
comparing output)

>From top to bottom of items in that link:
1. gcc asm diff output between readdir.c and readdir_o.c
2. gcc asm of readdir.c
3. gcc asm of readdir_o.c
4. llvm asm of readdir.c
5. llvm asm of readdir_o.c
6. readdir.c
7. llvm asm diff output between readdir.c and readdir_o.c
8. readdir_o.c

A testcase would be anything that uses __builtint_expect


clang version 3.2 (/var/cache/paludis/distfiles/scm/clang
7f0873c1c99276f05eab992c57be2f84adc58e40)
(/var/cache/paludis/distfiles/scm/llvm
2b409b65d45e2857dd842afc18b6b8c2da791a35)
Target: x86_64-pc-linux-gnu
Thread model: posix

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list