[llvm-bugs] [Bug 51140] New: missed optimization for dead code elimination at -O3 (vs. -O2)

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jul 19 06:55:23 PDT 2021


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

            Bug ID: 51140
           Summary: missed optimization for dead code elimination at -O3
                    (vs. -O2)
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: theodoros.theodoridis at inf.ethz.ch
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

$./bin/clang -v   
clang version 13.0.0 (https://github.com/llvm/llvm-project.git
96d8f2a1e0842b83b319a8daf3cc82dd5e1350fa)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /dev/shm/llvm-project/build/./bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Candidate multilib: .;@m64
Selected multilib: .;@m64


$cat test.c     
extern void foo(void);
extern void bar(void);
int a, b;
int main() {
 int c;
 unsigned d = 0;
 for (; d < 2; d++)
  while (a)
   for (c = -11; c < 21; c++) {
    b = 1 - d;
    if (!b)
     foo();
    bar();
   }
 return 0;
}


$./bin/clang -O2 test.c -S -o O2.s        
$./bin/clang -O3 test.c -S -o O3.s   
$grep foo O2.s   
$grep foo O3.s     
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo
        callq   foo

-- 
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/20210719/e7242edd/attachment.html>


More information about the llvm-bugs mailing list