[llvm-bugs] [Bug 24394] New: Bad optimized LLVM IR generation after PowerPC optimization using llopt -O2

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Aug 7 10:49:42 PDT 2015


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

            Bug ID: 24394
           Summary: Bad optimized LLVM IR generation after PowerPC
                    optimization using  llopt -O2
           Product: new-bugs
           Version: 3.7
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: matt.davis at pgroup.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 14709
  --> https://llvm.org/bugs/attachment.cgi?id=14709&action=edit
Source, non-llopt, and llopt llvm IR

I have a simple TLS test case in C.  This test runs to completion when
assembled in llvm 3.6 with llopt at -O2, or in 3.7 NOT using opt -O2.  However,
when assembled when building the code using llc 3.7 with llopt -O2 a reference
to a local variable creates a segmentation fault.

I have the offending code in LLVM IR attached (code generated before and after
opt -O2).  I also have the original C source that was used to generate the llvm
ir.  I have stripped the llvm ir samples, making them more readable.

What you will see is that opt removed the assignment of the integer value, 10,
to the TLS variable "x"

Additionally, the TLS variable "x" has been converted from i32 to i1:
Before llopt:
@x = internal thread_local  global i32 100, align 4

After llopt:
@x = internal thread_local unnamed_addr global i1 false

Works:
llvm/3.7/bin/llc ./test.ll -mcpu=native -O2 -post-RA-scheduler=0
-relocation-model=pic -o ./test.s

/usr/bin/as ./test.s -mpower8 -many -o test.o


Fails:
llvm/3.7/bin/opt -O2 ./test.ll -S -o ./test_opt.ll

llvm/3.7/bin/llc ./test_opt.ll -mcpu=native -O2 -post-RA-scheduler=0
-relocation-model=pic -o ./test_opt.s

/usr/bin/as ./test_opt.s -mpower8 -many -o test_opt.o

-- 
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/20150807/e8a14a5a/attachment.html>


More information about the llvm-bugs mailing list