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: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]

$./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.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to