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

           Summary: Invalid indirect branches processing (x86 asm
                    printer).
           Product: libraries
           Version: 2.8
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


Created an attachment (id=5556)
 --> (http://llvm.org/bugs/attachment.cgi?id=5556)
bitcode file(for linux x86-64) with a lot of indirect branch instructions

M.bc from attachment can't be compiled:

llc M.bc -o M.s
gcc M.s -lm

/tmp/ccuBJJbW.o:(.rodata+0xf0): undefined reference to `.Ltmp58'
/tmp/ccuBJJbW.o:(.rodata+0x1a0): undefined reference to `.Ltmp59'
collect2: ld error 1

Probably reason - optimization in x86 asm printer, that drops basic blocks
labels without uses. It ignores global variables like this:

@blocks3 = internal constant [4 x i8*] [i8* blockaddress(@cffti, %bb), i8*
blockaddress(@cffti, %bb1), i8* blockaddress(@cffti, %return), i8*
blockaddress(@cffti, %return)] ; <[4 x i8*]*> [#uses=1]

-- 
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to