https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100050
Bug ID: 100050 Summary: missed optimization for dead code elimination at -O3 (vs. -O1, -Os, -O2) Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: zhendong.su at inf dot ethz.ch Target Milestone: --- [598] % gcctk -v Using built-in specs. COLLECT_GCC=gcctk COLLECT_LTO_WRAPPER=/local/suz-local/software/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/11.0.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-trunk/configure --disable-bootstrap --prefix=/local/suz-local/software/local/gcc-trunk --enable-languages=c,c++ --disable-werror --enable-multilib --with-system-zlib Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.0.1 20210412 (experimental) [master revision 46c47420a5f:66634f1d5eb:8f17d44ad986e0ae7e81c81179463000ee9d7f43] (GCC) [599] % [599] % gcctk -O1 -S -o O1.s small.c [600] % gcctk -O3 -S -o O3.s small.c [601] % [601] % wc O1.s O3.s 19 44 412 O1.s 35 77 683 O3.s 54 121 1095 total [602] % [602] % grep foo O1.s [603] % grep foo O3.s call foo [604] % [604] % cat small.c extern void foo(void); static int *a[2]; int main() { int c = 0; for (; c < 2; c++) a[c] = &c; if (!a[0]) foo(); return 0; }