https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114793
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jh at suse dot cz Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2024-04-21 Version|unknown |14.0 --- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Zhendong Su from comment #0) > It seems to be a recent regression as it does not reproduce with 13.2 and > earlier. > > Compiler Explorer: https://godbolt.org/z/b3cc1MqP9 > > [538] % 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/14.0.1/lto-wrapper > Target: x86_64-pc-linux-gnu > Configured with: ../gcc-trunk/configure --disable-bootstrap > --enable-checking=yes --prefix=/local/suz-local/software/local/gcc-trunk > --enable-sanitizers --enable-languages=c,c++ --disable-werror > --enable-multilib > Thread model: posix > Supported LTO compression algorithms: zlib > gcc version 14.0.1 20240421 (experimental) (GCC) > [539] % > [539] % gcctk -O0 small.c > [540] % ./a.out > [541] % > [541] % gcctk -O1 -fschedule-insns2 -fselective-scheduling2 small.c > [542] % timeout -s 9 10 ./a.out > Killed > [543] % > [543] % cat small.c > int printf(const char *, ...); > volatile int a; > int b, c, d = 1, e, f; > int main() { > int g = 1; > for (; b; b -= d) > g = e; > for (; c < 2; c++) { > if (g) { > if (!d) > printf("%d", f); > continue; > } > a; > } > return 0; > } This is caused by r14-2712.