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