[LLVMbugs] [Bug 19051] New: another example of different code generation at -O2 -g and -O2

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 4 22:08:43 PST 2014


            Bug ID: 19051
           Summary: another example of different code generation at -O2 -g
                    and -O2
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: katya_romanova at playstation.sony.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Code motion is noticed when running tests with and without the debug info at
I've triaged this bug, and it's not a duplicate of BZ #18590. 

 extern void foo(char *dst,unsigned siz,const char *src);
 extern const char * i2str(int);

 struct AAA3 {
  AAA3(const char *value) { foo(text,sizeof(text),value);}
  void operator=(const char *value) { foo(text,sizeof(text),value);}
  operator const char*() const { return text;}
  char text[4];

 void bar (int param1,int param2)  {
   const char * temp(0);

   if (param2) {
     temp = i2str(param2);
   AAA3 var1("");
   AAA3 var2("");

   if (param1)
     var2 = "+";
     var2 = "-";
   var1 = "";

clang -c -g -O2 test.cpp -o test.g.o
clang -c -O2 test.cpp -o test.o

objdump -d test.g.o > test.g.txt
objdump -d test.o > test.txt

diff test.txt test.g.txt
< test.o:     file format elf64-x86-64
> test.g.o:     file format elf64-x86-64
<   39: 48 8d 3c 24             lea    (%rsp),%rdi
<   3d: be 04 00 00 00          mov    $0x4,%esi
<   42: 85 db                   test   %ebx,%ebx
>   39: 85 db                   test   %ebx,%ebx
>   3b: 48 8d 3c 24             lea    (%rsp),%rdi
>   3f: be 04 00 00 00          mov    $0x4,%esi


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/20140305/3e8a5eb7/attachment.html>

More information about the llvm-bugs mailing list