* [Bug tree-optimization/114793] wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs)
2024-04-21 11:47 [Bug tree-optimization/114793] New: wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs) zhendong.su at inf dot ethz.ch
@ 2024-04-21 11:54 ` zhendong.su at inf dot ethz.ch
2024-04-21 15:43 ` hjl.tools at gmail dot com
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: zhendong.su at inf dot ethz.ch @ 2024-04-21 11:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114793
--- Comment #1 from Zhendong Su <zhendong.su at inf dot ethz.ch> ---
The following reproducer is different, but perhaps is the same or related.
Compiler Explorer: https://godbolt.org/z/411rzMP1n
[588] % 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)
[589] %
[589] % gcctk -O1 -fno-tree-forwprop -fselective-scheduling2 -fschedule-insns2
-fsel-sched-pipelining small.c
[590] % ./a.out
Aborted
[591] %
[591] % cat small.c
int printf(const char *, ...);
int a, d, g, h;
volatile int b = 1;
static unsigned c = 1;
char e, f = 1, i;
static int j() {
int k, l = g, m = 1 << l, n = -e, o = -1 % ((f && 1) ^ i), p = ~n - o;
if (m) {
int q, s, t, r = 1 % (((1 % f) & (~e | c)) ^ b);
q = f;
s = i;
t = e;
f = -b;
k = f;
d = -1;
u:
e = 0 & b;
if (i > f)
if (!b)
goto v;
if (d > t)
__builtin_abort();
if (b < 1 || !d || !c) {
printf("%d\n", i);
f = ((i | b) & (k - r)) << (e << ~t ^ q) << s;
goto u;
}
if (i)
f = q;
v:
i = n & o & l;
printf("%ld\n", (long)t);
}
i = p;
return h;
}
int main() {
for (; a < 3; a++)
j();
return 0;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/114793] wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs)
2024-04-21 11:47 [Bug tree-optimization/114793] New: wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs) zhendong.su at inf dot ethz.ch
2024-04-21 11:54 ` [Bug tree-optimization/114793] " zhendong.su at inf dot ethz.ch
@ 2024-04-21 15:43 ` hjl.tools at gmail dot com
2024-04-21 16:03 ` [Bug tree-optimization/114793] [14 Regression] " hjl.tools at gmail dot com
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: hjl.tools at gmail dot com @ 2024-04-21 15:43 UTC (permalink / raw)
To: gcc-bugs
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.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/114793] [14 Regression] wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs)
2024-04-21 11:47 [Bug tree-optimization/114793] New: wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs) zhendong.su at inf dot ethz.ch
2024-04-21 11:54 ` [Bug tree-optimization/114793] " zhendong.su at inf dot ethz.ch
2024-04-21 15:43 ` hjl.tools at gmail dot com
@ 2024-04-21 16:03 ` hjl.tools at gmail dot com
2024-04-22 7:17 ` jakub at gcc dot gnu.org
2024-05-07 7:45 ` [Bug tree-optimization/114793] [14/15 " rguenth at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: hjl.tools at gmail dot com @ 2024-04-21 16:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114793
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Zhendong Su from comment #1)
> The following reproducer is different, but perhaps is the same or related.
>
> Compiler Explorer: https://godbolt.org/z/411rzMP1n
>
> [588] % 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)
> [589] %
> [589] % gcctk -O1 -fno-tree-forwprop -fselective-scheduling2
> -fschedule-insns2 -fsel-sched-pipelining small.c
> [590] % ./a.out
> Aborted
> [591] %
> [591] % cat small.c
> int printf(const char *, ...);
> int a, d, g, h;
> volatile int b = 1;
> static unsigned c = 1;
> char e, f = 1, i;
> static int j() {
> int k, l = g, m = 1 << l, n = -e, o = -1 % ((f && 1) ^ i), p = ~n - o;
> if (m) {
> int q, s, t, r = 1 % (((1 % f) & (~e | c)) ^ b);
> q = f;
> s = i;
> t = e;
> f = -b;
> k = f;
> d = -1;
> u:
> e = 0 & b;
> if (i > f)
> if (!b)
> goto v;
> if (d > t)
> __builtin_abort();
> if (b < 1 || !d || !c) {
> printf("%d\n", i);
> f = ((i | b) & (k - r)) << (e << ~t ^ q) << s;
> goto u;
> }
> if (i)
> f = q;
> v:
> i = n & o & l;
> printf("%ld\n", (long)t);
> }
> i = p;
> return h;
> }
> int main() {
> for (; a < 3; a++)
> j();
> return 0;
> }
This is caused by r14-2524.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/114793] [14 Regression] wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs)
2024-04-21 11:47 [Bug tree-optimization/114793] New: wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs) zhendong.su at inf dot ethz.ch
` (2 preceding siblings ...)
2024-04-21 16:03 ` [Bug tree-optimization/114793] [14 Regression] " hjl.tools at gmail dot com
@ 2024-04-22 7:17 ` jakub at gcc dot gnu.org
2024-05-07 7:45 ` [Bug tree-optimization/114793] [14/15 " rguenth at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-22 7:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114793
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
Priority|P3 |P2
Target Milestone|--- |14.0
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think sel-sched regressions don't need to be P1.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/114793] [14/15 Regression] wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs)
2024-04-21 11:47 [Bug tree-optimization/114793] New: wrong code at -O1 with "-fschedule-insns2 -fselective-scheduling2" on x86_64-linux-gnu (the generated code hangs) zhendong.su at inf dot ethz.ch
` (3 preceding siblings ...)
2024-04-22 7:17 ` jakub at gcc dot gnu.org
@ 2024-05-07 7:45 ` rguenth at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-05-07 7:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114793
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|14.0 |14.2
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 14.1 is being released, retargeting bugs to GCC 14.2.
^ permalink raw reply [flat|nested] 6+ messages in thread